主页 > 下载imtoken官方网站 > [区块链]比特币RAW传输
[区块链]比特币RAW传输
[区块链]比特币RAW传输
简介转移分为以下几个步骤:
首先我们需要将比特币从地址 A 转移到地址 B,
地址 A
bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr
地址 B
bcrt1qp9gq52muvdzdmlhdd9xtg22vz7rfd033zewz4v
PS:这里是比特币私链地址
如果发件人的地址是在这个钱包中创建的,如果没有,则必须导入到钱包中。
导入网址
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 importaddress bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr "test label" true
导入私钥
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 importprivkey cU8Q2jGeX3GNKNa5etiC8mgEgFSeVUTRQfWE2ZCzszyqYNK4Mepy "test label" true
转账查询发送地址的UTXO
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 listunspent 6 9999999 '["bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr"]'
PS:6是查询到的最近块比特币区块链地址查询,9999999是最远的块,因为比特币网络中确认的块数是6,所以查询到的块号和最新块号的距离大于6个块算作确认区块。上面的地址是发件人的地址。如果发件人的地址是在这个钱包中创建的,如果没有,则必须导入到钱包中。
返回信息
[
{
"txid": "cd76be7e039384750e88acfb3c3a51d9b25b51252aa3c266663a6cac642373f4",
"vout": 0,
"address": "bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr",
"label": "",
"scriptPubKey": "0014f654168823a3f295f36a2dca35b13897b51bb80f",
"amount": 50.00000000,
"confirmations": 149,
"spendable": true,
"solvable": true,
"desc": "wpkh([df77b868/0'/0'/0']0366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb176)#clkfw4rc",
"safe": true
},
...
]
选择大于转账金额的余额,因为还要考虑矿工费。选择一个 utxo 后,使用 txid、vout 和 amount。
创建交易
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 createrawtransaction '''[{"txid":"cd76be7e039384750e88acfb3c3a51d9b25b51252aa3c266663a6cac642373f4","vout" : 0}]''' '''[{"bcrt1qp9gq52muvdzdmlhdd9xtg22vz7rfd033zewz4v": 10.0 },{"bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr": 39.99999 }]'''
这里的txid和vout是上一步查询到的utxo中的txid和vout,后面分成两组地址和金额,一组是收款地址和转账金额,一组是找零地址和金额,这里有两部分金额之和为49.99999,0.00001小于上一步获得的50.000000的金额为预留矿工费.
如下返回
0200000001f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f00000000
签名交易
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 signrawtransactionwithwallet 0200000001f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f00000000
signrawtransactionwithwallet 后面是最后创建的交易。
如下返回
{
"hex": "02000000000101f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f0247304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01210366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb17600000000",
"complete": true
}
此处的十六进制用于稍后发送交易。
发送交易
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 sendrawtransaction 02000000000101f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f0247304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01210366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb17600000000
此处使用上一步签署交易的十六进制。
如下返回
0648acd662854e0bb6f231ccc8888207c1318e3f2b67fd2bb09f580d028c511e
作为交易的 txid 返回。
查询交易
可以查询交易信息
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 gettransaction 0648acd662854e0bb6f231ccc8888207c1318e3f2b67fd2bb09f580d028c511e
如下返回
{
"amount": 0.00000000,
"fee": -0.00010000,
"confirmations": 0,
"trusted": true,
"txid": "0648acd662854e0bb6f231ccc8888207c1318e3f2b67fd2bb09f580d028c511e",
"walletconflicts": [
],
"time": 1574932189,
"timereceived": 1574932189,
"bip125-replaceable": "no",
"details": [
{
"address": "bcrt1qp9gq52muvdzdmlhdd9xtg22vz7rfd033zewz4v",
"category": "send",
"amount": -10.00000000,
"label": "",
"vout": 0,
"fee": -0.00010000,
"abandoned": false
},
{
"address": "bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr",
"category": "send",
"amount": -39.99990000,
"label": "",
"vout": 1,
"fee": -0.00010000,
"abandoned": false
},
{
"address": "bcrt1qp9gq52muvdzdmlhdd9xtg22vz7rfd033zewz4v",
"category": "receive",
"amount": 10.00000000,
"label": "",
"vout": 0
},
{
"address": "bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr",
"category": "receive",
"amount": 39.99990000,
"label": "",
"vout": 1
}
],
"hex": "02000000000101f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f0247304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01210366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb17600000000"
}
这里的confirmations为0表示交易没有被矿工打包,-1表示交易失败。
gettransaction 只能查询该钱包的交易。要查询其他交易,请使用 getrawtransaction。
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 getrawtransaction 0648acd662854e0bb6f231ccc8888207c1318e3f2b67fd2bb09f580d028c511e
需要注意的是,如果要查询不在这个钱包里的交易,也就是链上的其他交易比特币区块链地址查询,需要在启动节点开启txindex和reindex。开启方式见
如下返回
02000000000101f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f0247304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01210366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb17600000000
使用decoderawtransaction进行解码,得到具体的交易信息。
./bitcoin-cli -rpcuser=btc -rpcpassword=btcbtc -rpcport=18443 decoderawtransaction 02000000000101f4732364ac6c3a6666c2a32a25515bb2d9513a3cfbac880e758493037ebe76cd0000000000ffffffff0200ca9a3b0000000016001409500a2b7c6344ddfeed694cb4294c178696be31f0006bee00000000160014f654168823a3f295f36a2dca35b13897b51bb80f0247304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01210366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb17600000000
如下返回
{
"txid": "0648acd662854e0bb6f231ccc8888207c1318e3f2b67fd2bb09f580d028c511e",
"hash": "bd86e1d9357faa7a83707730120764d2d4db1d77a07dd538e9a1824fe4cb8940",
"version": 2,
"size": 222,
"vsize": 141,
"weight": 561,
"locktime": 0,
"vin": [
{
"txid": "cd76be7e039384750e88acfb3c3a51d9b25b51252aa3c266663a6cac642373f4",
"vout": 0,
"scriptSig": {
"asm": "",
"hex": ""
},
"txinwitness": [
"304402202401e626f7f00f4e2cc3e5a11f846c05cc319c48f2c76dd570cf7cd72dbd7d350220352a8e524a7cfa0e9da2e5f3a24e7d9dc554e8bc545f24d058e4009622c394ea01",
"0366adfb9c537c67710e5f38b1e0d186daad0c020c8adaa21c259bcaa242fdb176"
],
"sequence": 4294967295
}
],
"vout": [
{
"value": 10.00000000,
"n": 0,
"scriptPubKey": {
"asm": "0 09500a2b7c6344ddfeed694cb4294c178696be31",
"hex": "001409500a2b7c6344ddfeed694cb4294c178696be31",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"bcrt1qp9gq52muvdzdmlhdd9xtg22vz7rfd033zewz4v"
]
}
},
{
"value": 39.99990000,
"n": 1,
"scriptPubKey": {
"asm": "0 f654168823a3f295f36a2dca35b13897b51bb80f",
"hex": "0014f654168823a3f295f36a2dca35b13897b51bb80f",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"bcrt1q7e2pdzpr50eftum29h9rtvfcj763hwq02jjlhr"
]
}
}
]
}