使用rpc命令来转账比特币

 

使用rpc命令来转账比特币

1.     启动regtest网络

./bitcoind -regtest -reindex -txindex=1-debug –printtoconsole (后面两个参数只是为了通过日志信息查看网络是否正常),(如果是testnet,高度在120w了,需要同步一个晚上),一般不要带参数 –gen否则挖矿等待的时间更久

2.     查询当前帐号信息

./bitcoin-cli -regtest listaccounts

{

 "": 0.00000000,

}

3.     查询帐号对应的地址

./bitcoin-cli -regtest getaccountaddress""

mkhvaqFXfe268P7Pun7SBebygczF6uYHfr

4.     充值

A、如果是正式网络,就只能充值了;

B、如果是testnet网络,通过下面方法免费充值0.12btc:

到网站http://tpfaucet.appspot.com/输入你的地址和下面的验证码(注意验证码是两个字符串,中间空格分隔,好像写第一个也能成功,如果失败会在验证码图片的上方显示红色文字,否则就没有显示)

到网站https://testnet.blockexplorer.com 查询一下,可以看到结果,只是本地继续用上面第二步的命令查看还是0,需要等同步完成

C、如果是regtest网络就很简单了,自己挖矿就有了

先生成101个区块:./bitcoin-cli-regtest generate 101

然后查看账户:

./bitcoin-cli -regtest getbalance

50.00000000

就有50btc了

5.     新增一个帐号

./bitcoin-cli -regtest getnewaddress"elikong"

mkLjQ1zRdy23yCzgTfym9ey9HDQqE53Zim

下面我们就可以实现目标:

帐号""地址mkhvaqFXfe268P7Pun7SBebygczF6uYHfr

向帐号"elikong"地址mkLjQ1zRdy23yCzgTfym9ey9HDQqE53Zim

转账0.025btc

6.     检查未使用的事务列表

./bitcoin-cli -regtest listunspent
[
  {
    "txid": "cbef3a6dd778654b7d4087db9250b6dc56aac8425f39ddf27d632bc5ee19e519",
    "vout": 0,
    "address": "mqTtyk9QjCouetZwkAkg64AfAfNYLKX4Uu",
    "scriptPubKey": "2102d15a26665b8df92a49594f6c69f9682aab6a55d4cd40328d8bf45d964bb4b4f8ac",
    "amount": 50.00000000,
    "confirmations": 101,
    "spendable": true
  }
]

7.     创建一个转账事务

./bitcoin-cli -regtest createrawtransaction\

   '[{

       "txid" :"cbef3a6dd778654b7d4087db9250b6dc56aac8425f39ddf27d632bc5ee19e519",

       "vout" : 0

   }]' \

   '{"mkLjQ1zRdy23yCzgTfym9ey9HDQqE53Zim": 20,"mkhvaqFXfe268P7Pun7SBebygczF6uYHfr": 20}'

010000000119e519eec52b637df2dd395f42c8aa56dcb65092db87407d4b6578d76d3aefcb0000000000ffffffff0200943577000000001976a91434e9b40a45238727cec88e9ec12349bce469db5088ac00943577000000001976a91438ebc6c69c5dcc79bb17914db9b527551807941088ac00000000

注意:第一个地址是收款方地址,第二个地址是付款方地址

8.     用私钥签名

./bitcoin-cli -regtest signrawtransaction010000000119e519eec52b637df2dd395f42c8aa56dcb65092db87407d4b6578d76d3aefcb0000000000ffffffff0200943577000000001976a91434e9b40a45238727cec88e9ec12349bce469db5088ac00943577000000001976a91438ebc6c69c5dcc79bb17914db9b527551807941088ac00000000

{

 "hex":"010000000119e519eec52b637df2dd395f42c8aa56dcb65092db87407d4b6578d76d3aefcb0000000049483045022100bcad3eb5920d476afbbf17026159061526c9988963adefae2b580ae504a77b8b02206d08fb8b178a258d0cba47dce5a750e001ef1f12ca3754d0ef74ab10e7a125f201ffffffff0200943577000000001976a91434e9b40a45238727cec88e9ec12349bce469db5088ac00943577000000001976a91438ebc6c69c5dcc79bb17914db9b527551807941088ac00000000",

 "complete": true

}

9.     广播到p2p网络

./bitcoin-cli -regtest sendrawtransaction010000000119e519eec52b637df2dd395f42c8aa56dcb65092db87407d4b6578d76d3aefcb0000000049483045022100bcad3eb5920d476afbbf17026159061526c9988963adefae2b580ae504a77b8b02206d08fb8b178a258d0cba47dce5a750e001ef1f12ca3754d0ef74ab10e7a125f201ffffffff0200943577000000001976a91434e9b40a45238727cec88e9ec12349bce469db5088ac00943577000000001976a91438ebc6c69c5dcc79bb17914db9b527551807941088ac00000000true

dfa4b5d9447c3d711aa9685d2303426bc96b0fd197c3e37b3efed8cd922fe515

10、验证:

对regtest只好自己挖矿了

./bitcoin-cli -regtest generate 1

./bitcoin-cli -regtest listaccounts
{
  "": 70.00000000,
  "elikong": 20.00000000
}

可以看到elikong帐号有了20btc,也可以通过txid查询:

如果是正式网络可以去https://blockchain.info/tx/ dfa4b5d9447c3d711aa9685d2303426bc96b0fd197c3e37b3efed8cd922fe515查看,url的格式就是https://blockchain.info/tx/加上第九步的返回值

如果是testnet就可以去https://testnet.blockexplorer.com查询

当然也可以通过bitcoin-cli查询:

./bitcoin-cli -regtest getrawtransactiondfa4b5d9447c3d711aa9685d2303426bc96b0fd197c3e37b3efed8cd922fe515 1

{

 "hex":"010000000119e519eec52b637df2dd395f42c8aa56dcb65092db87407d4b6578d76d3aefcb0000000049483045022100bcad3eb5920d476afbbf17026159061526c9988963adefae2b580ae504a77b8b02206d08fb8b178a258d0cba47dce5a750e001ef1f12ca3754d0ef74ab10e7a125f201ffffffff0200943577000000001976a91434e9b40a45238727cec88e9ec12349bce469db5088ac00943577000000001976a91438ebc6c69c5dcc79bb17914db9b527551807941088ac00000000",

 "txid": "dfa4b5d9447c3d711aa9685d2303426bc96b0fd197c3e37b3efed8cd922fe515",

 "size": 192,

 "version": 1,

 "locktime": 0,

 "vin": [

    {

     "txid":"cbef3a6dd778654b7d4087db9250b6dc56aac8425f39ddf27d632bc5ee19e519",

     "vout": 0,

     "scriptSig": {

       "asm":"3045022100bcad3eb5920d476afbbf17026159061526c9988963adefae2b580ae504a77b8b02206d08fb8b178a258d0cba47dce5a750e001ef1f12ca3754d0ef74ab10e7a125f2[ALL]",

       "hex":"483045022100bcad3eb5920d476afbbf17026159061526c9988963adefae2b580ae504a77b8b02206d08fb8b178a258d0cba47dce5a750e001ef1f12ca3754d0ef74ab10e7a125f201"

     },

     "sequence": 4294967295

    }

  ],

 "vout": [

    {

     "value": 20.00000000,

     "n": 0,

     "scriptPubKey": {

       "asm": "OP_DUP OP_HASH160 34e9b40a45238727cec88e9ec12349bce469db50OP_EQUALVERIFY OP_CHECKSIG",

       "hex":"76a91434e9b40a45238727cec88e9ec12349bce469db5088ac",

       "reqSigs": 1,

       "type": "pubkeyhash",

       "addresses": [

         "mkLjQ1zRdy23yCzgTfym9ey9HDQqE53Zim"

       ]

     }

   },

    {

     "value": 20.00000000,

     "n": 1,

     "scriptPubKey": {

       "asm": "OP_DUP OP_HASH16038ebc6c69c5dcc79bb17914db9b5275518079410 OP_EQUALVERIFY OP_CHECKSIG",

       "hex": "76a91438ebc6c69c5dcc79bb17914db9b527551807941088ac",

       "reqSigs": 1,

       "type": "pubkeyhash",

       "addresses": [

         "mkhvaqFXfe268P7Pun7SBebygczF6uYHfr"

       ]

     }

    }

  ],

 "blockhash":"13c2c1b98b18e6a63399f7e1111c372fab34e5ab77bf8a7c20ed6e2cfbd36449",

 "confirmations": 1,

 "time": 1483514222,

 "blocktime": 1483514222

}

10.   继续转账增加一个留言,我们从第6步开始:检查未使用的事务列表

fddf7a09cf13e7bebb15523aabfb8539120db5e8107b8886586e5a893df9f0b1

11.   在转账的同时添加留言

./bitcoin-cli -regtest createrawtransaction\

   '[{

       "txid" : "fddf7a09cf13e7bebb15523aabfb8539120db5e8107b8886586e5a893df9f0b1",

       "vout" : 0

   }]' \

'{"mkLjQ1zRdy23yCzgTfym9ey9HDQqE53Zim":20, "mkhvaqFXfe268P7Pun7SBebygczF6uYHfr":20,"data":"697420697320612074657374"}'

注意data里面的数据必需是16进制,可以去网站http://tool.lu/hexstr/转换一下

12.   继续后续的8,9,10步就可以了

猜你喜欢

转载自blog.csdn.net/ffzhihua/article/details/82501431