Skip to content

地址生成和校验文档

OuYun edited this page Nov 6, 2019 · 5 revisions

地址生成

生成密钥对并自动导入钱包

使用RPC命令getnewkey:

bigbang> getnewkey 123  #必须带一个密码参数,此例为123
ae35db0b7b09dd9d98c26994c9ee6e2cf7353050b8572d1ec7b7713306b51ab8   #命令输出生成的密钥对中的公钥

生成密钥对,按需手工导入钱包:

1. 使用RPC命令makekeypair生成一对密钥,程序输出其公钥和私钥:

bigbang> makekeypair
{
    "privkey" : "ba8ee639f85477a9d223f4766f036f216c72e5b51c9427dc97c225cadacb6b72",
    "pubkey" : "65ac96cf2123d1c70686e193f220654251b24f3803f835759335d79ae0d8d762"
}

2. 使用RPC命令importprivkey将密钥导入钱包:

bigbang> importprivkey ba8ee639f85477a9d223f4766f036f216c72e5b51c9427dc97c225cadacb6b72 123 #必须携带密钥密码参数导入
65ac96cf2123d1c70686e193f220654251b24f3803f835759335d79ae0d8d762  #输出为密钥对中的公钥

以上生成的密钥对,均可以使用RPC命令getpubkeyaddress得到对应的公钥地址:

bigbang> getpubkeyaddress ae35db0b7b09dd9d98c26994c9ee6e2cf7353050b8572d1ec7b7713306b51ab8  #带公钥参数
1q0dba1hke6vwe7hdayw50c1nywp6xvp9jhmw564xvm4qp2yv6pq7b0fz  #命令返回其公钥地址

如果密钥已经导入钱包,还可以使用RPC命令listaddress列出之前导入的密钥对应的公钥地址:

bigbang> listaddress
[
    {
        "type" : "pubkey",
        "address" : "181x15vfy56wrhaxqspz8mgaex618t6zk7fchemyaxt7qx5txggt9hprc",
        "pubkey" : "34845d977e8feeca5317d93bf31b8d82e94e418abecdb7ab88b929feed127a40"
    },
    {
        "type" : "pubkey",
        "address" : "1q0dba1hke6vwe7hdayw50c1nywp6xvp9jhmw564xvm4qp2yv6pq7b0fz",      #刚才生成并导入钱包的公钥地址
        "pubkey" : "ae35db0b7b09dd9d98c26994c9ee6e2cf7353050b8572d1ec7b7713306b51ab8"
    },
    {
        "type" : "pubkey",
        "address" : "1f9vq3gwbrzw0sb7e8fvy2raqfrc8zvnw8esy7rgk41t9d0zmy78bj48e",
        "pubkey" : "d0f1f48396742013e2e3b343bcee8f187e5761e1f743eeac0cf8c78bc371777a"
    },
    {
        "type" : "pubkey",
        "address" : "1965p604xzdrffvg90ax9bk0q3xyqn5zz2vc9zpbe3wdswzazj7d144mm",
        "pubkey" : "da915f7d9e1b1f6ed99fd816ff977a7d1f17cc95ba0209eef770fb9d00638b49"
    },
    {
        "type" : "template",
        "address" : "20g0av932jzfbpd219tcbyketpmz1mq587z8dkeas4v2cb9w90k483vpr",
        "template" : "mint",
        "templatedata" : {
            "type" : "mint",
            "hex" : "0400b1960020b92c998652a7f47d4262d37a8f9e4040f5b3b131099c0d7f281c0fc001498b63009dfb70f7ee0902ba95cc171f7d7a97ff16d89fd96e1f1b9e7d5f91da",
            "mint" : {
                "mint" : "1p6b0085s5jcrcmn7yhym4rpkfa7swg20ypsv2c89kg6qya0w1z00q8nz",
                "spent" : "1965p604xzdrffvg90ax9bk0q3xyqn5zz2vc9zpbe3wdswzazj7d144mm"
            }
        }
    }
]

地址校验

使用RPC命令validateaddress校验给定公钥地址是否为bigbang系统的合法地址

以下校验公钥地址1cbbxhr4ttwts6x9nz01kgkxja516a87jjfgrc1p7t4hj3kwpnhjjawfc是有效的:

bigbang> validateaddress 1cbbxhr4ttwts6x9nz01kgkxja516a87jjfgrc1p7t4hj3kwpnhjjawfc
{
    "isvalid" : true,
    "addressdata" : {
        "address" : "1cbbxhr4ttwts6x9nz01kgkxja516a87jjfgrc1p7t4hj3kwpnhjjawfc",
        "ismine" : true,
        "type" : "pubkey",
        "pubkey" : "65ac96cf2123d1c70686e193f220654251b24f3803f835759335d79ae0d8d762"
    }
}
Clone this wiki locally