創(chuàng)建多重簽名
createmultisig調(diào)用創(chuàng)建一個P2SH多重簽名地址
參數(shù)
1、MinSigs:消費發(fā)往該地址的UTXO所需要的最少簽名數(shù)
2、KeysOrAddresses:公鑰數(shù)組
返回值
調(diào)用返回生成的P2SH地址和贖回腳本,結(jié)果如下:
返回的地址為CashAddr address
1、address:地址
2、redeemScript:贖回腳本
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{ "jsonrpc": "2.0",
"id":"curltest",
"method": "createmultisig",
"params": [ 2,
[
"021184e6edabb488ed5dfba22ae40f027e36f8d3b24a7d3d8ff0c19726f37fe9a5",
"03b5842dbbcc3ae007bad1731a80b25050bb114d1058ddb909cf369e7c1db23457"
]
]
}
=============
response:
{
"result": {
"address": "bchtest:pp09qyp25zy43lwjycj2m5v8setx76zmxyc5nug8a4",
"redeemScript": "5221021184e6edabb488ed5dfba22ae40f027e36f8d3b24a7d3d8ff0c19726f37fe9a52103b5842dbbcc3ae007bad1731a80b25050bb114d1058ddb909cf369e7c1db2345752ae"
},
"error": null,
"id": "curltest"
}
交易廣播
sendrawtransaction調(diào)用驗證指定交易并將其廣播到P2P網(wǎng)絡(luò)中。
參數(shù)
1、Transaction:序列化的交易碼流,16進制字符串
2、AllowHighFees:是否允許高額手續(xù)費,可選,默認值:false
返回值
成功時sendrawtransaction調(diào)用返回交易ID,否則返回錯誤信息。
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{ "jsonrpc": "2.0",
"id":"curltest",
"method": "sendrawtransaction",
"params": [
"010000000180784aa0cc6469e5e7a7e1bfcad98a1207ea1f4bfe2966403dcc6c0b977bccac010000006b483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747ffffffff02809698000000000017a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff8720de230b000000001976a914ee308491558158bb5e1478bb5163211f3981687c88ac00000000"
]
}
=================
response:
{
"result": "944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
"error": null,
"id": "curltest"
}
創(chuàng)建交易
createrawtransaction調(diào)用創(chuàng)建一個未簽名的序列化交易,該交易可以將一個UTXO 轉(zhuǎn)讓給指定的P2PKH地址或P2SH地址。該交易不會存儲在錢包里,也不會發(fā)送到P2P網(wǎng)絡(luò)中。
參數(shù)
1、Inputs:交易輸入數(shù)組,每個成員對象的結(jié)構(gòu)如下:
??a、txid:UTXO的交易id
??b、vout:UTXO的輸出序號
??c、Sequence:序列號,可選
2、Outputs:交易輸出對象,鍵為地址,值為金額 eg:{ "mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe": 0.13 }
3、Locktime:聲明該交易生效的最早時間,可選
返回值
createrawtransaction調(diào)用返回生成的未簽名交易的序列化字符串。
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{ "jsonrpc": "2.0",
"id":"curltest",
"method": "createrawtransaction",
"params": [
[{"txid":"944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3","vout":0}],
{"QPePPKTYfei4iP1R7JtdpTLBzhAUtEosdh":0.1, "n3EPEngegPGeDMmpey4U2quqX79usDRKqR":0.0989}
]
}
=================
response:
{
"result": "0200000001f31e882d9eb007d3297573151d7992d7e26566b3f51cf93aa6cb2bd6409f4c940000000000ffffffff02809698000000000017a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff87d0e89600000000001976a914ee308491558158bb5e1478bb5163211f3981687c88ac00000000",
"error": null,
"id": "curltest"
}
獲取交易詳情
getrawtransaction調(diào)用提取指定id的裸交易字符串或解碼后的JSON對象\
由于默認情況下,節(jié)點僅保存部分交易的完整數(shù)據(jù)(例如包含UTXO的交易,以及 你自己發(fā)起的交易),
因此該調(diào)用可能在提取歷史交易時會失敗,除非在 啟動節(jié)點時,使用了-txindex=1選項。
參數(shù)
1、TXID:要提取裸交易的ID
2、Format:返回格式,序列化字符串或JSON對象,
????false:返回序列化字符串
????true:返回解碼后的JSON對象
返回值
getrawtransaction調(diào)用返回指定交易指定格式的結(jié)果,如果未找到則返回null。 當參數(shù)Format的值為true時,返回的交易對象結(jié)構(gòu)如下:
1、hex:序列化字符串
2、blockhash:所在區(qū)塊的哈希值
3、confirmations:所在區(qū)塊的確認數(shù)
4、time:所在區(qū)塊的出塊時間
5、blocktime:所在區(qū)塊的出塊時間,同上
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{ "jsonrpc": "2.0",
"id":"curltest",
"method": "getrawtransaction",
"params": [
"944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
true
]
}
=================
response:
{
"result": {
"txid": "944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
"hash": "944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
"version": 1,
"size": 224,
"vsize": 224,
"locktime": 0,
"vin": [
{
"txid": "accc7b970b6ccc3d406629fe4b1fea07128ad9cabfe1a7e7e56964cca04a7880",
"vout": 1,
"scriptSig": {
"asm": "3045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5[ALL] 02658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747",
"hex": "483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.1,
"n": 0,
"scriptPubKey": {
"asm": "OP_HASH160 215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff OP_EQUAL",
"hex": "a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff87",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"QPePPKTYfei4iP1R7JtdpTLBzhAUtEosdh"
]
}
},
{
"value": 1.869,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 ee308491558158bb5e1478bb5163211f3981687c OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914ee308491558158bb5e1478bb5163211f3981687c88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"n3EPEngegPGeDMmpey4U2quqX79usDRKqR"
]
}
}
],
"hex": "010000000180784aa0cc6469e5e7a7e1bfcad98a1207ea1f4bfe2966403dcc6c0b977bccac010000006b483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747ffffffff02809698000000000017a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff8720de230b000000001976a914ee308491558158bb5e1478bb5163211f3981687c88ac00000000",
"blockhash": "0ee91a45ea39197f00fb3be2abf70a8659138bdf703ff3dd2d093f081babb33f",
"confirmations": 1,
"time": 1554881963,
"blocktime": 1554881963
},
"error": null,
"id": "curltest"
}
贖回腳本序列化解碼
decodescript調(diào)用解碼一個P2SH贖回腳本。
參數(shù)
1、RedeemScript:要解碼的贖回腳本,16進制字符串
返回值
decodescript調(diào)用返回解碼后的腳本對象,結(jié)構(gòu)如下:
1、asm:采用助記符表示的腳本
2、type:腳本類型,可以是:
??a、pubkey:P2SH里的P2PK腳本
??b、pubkeyhash:P2SH里的P2PKH腳本
??c、multisig:P2SH里的多重簽名腳本
??d、nonstandard:非標腳本
3、reqSigs:需要的簽名數(shù)量
4、addresses:腳本中使用的地址數(shù)組
5、p2sh:該贖回腳本的P2SH地址
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{
"jsonrpc": "2.0",
"method": "decodescript",
"params": ["010000000180784aa0cc6469e5e7a7e1bfcad98a1207ea1f4bfe2966403dcc6c0b977bccac010000006b483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747ffffffff02809698000000000017a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff8720de230b000000001976a914ee308491558158bb5e1478bb5163211f3981687c88ac00000000"]
}
=================
response:
{
"result": {
"asm": "0 0 0 0 OP_OVER a0cc6469e5e7a7e1bfcad98a1207ea1f4bfe2966403dcc6c0b977bccac010000006b483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc0710220 c77bfac7b6 OP_ENDIF OP_UNKNOWN 9 -27941 OP_UNKNOWN OP_UNKNOWN OP_UNKNOWN OP_UNKNOWN f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747ffffffff02809698000000000017a914215ca3a7 OP_NUMEQUAL OP_UNKNOWN OP_UNKNOWN OP_UNKNOWN OP_UNKNOWN OP_UNKNOWN OP_EQUAL OP_UNKNOWN [error]",
"type": "nonstandard",
"p2sh": "QhZfmnQuom4qD88g3tepkkMG67NtXe9Tnp"
},
"error": null,
"id": null
}
交易序列化解碼
decoderawtransaction調(diào)用將一個序列化的交易字符串解碼為JSON對象。
參數(shù)
1、SerializedTransaction:要解碼的裸交易字符串
返回值
成功解碼后,decoderawtransaction返回一個JSON對象,否則返回`null`。
代碼示例
http://admin:admin@10.200.5.50:18332
================
header:
Content-Type : application/json
body:
{
"jsonrpc": "2.0",
"method": "decoderawtransaction",
"params": ["010000000180784aa0cc6469e5e7a7e1bfcad98a1207ea1f4bfe2966403dcc6c0b977bccac010000006b483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747ffffffff02809698000000000017a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff8720de230b000000001976a914ee308491558158bb5e1478bb5163211f3981687c88ac00000000"]
}
=================
response:
{
"result": {
"txid": "944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
"hash": "944c9f40d62bcba63af91cf5b36665e2d792791d15737529d307b09e2d881ef3",
"version": 1,
"size": 224,
"vsize": 224,
"locktime": 0,
"vin": [
{
"txid": "accc7b970b6ccc3d406629fe4b1fea07128ad9cabfe1a7e7e56964cca04a7880",
"vout": 1,
"scriptSig": {
"asm": "3045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5[ALL] 02658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747",
"hex": "483045022100e3b5b26adbe806d873329dcef823e8da61d37bf6c71094c7a932f328129cc071022005c77bfac7b668fd590225edeaebd7ee46f9b9bf4749b2377a3281e9b9eaeee5012102658a0ca5656db744b3c79d230cf3b09ac8905711db8fa59f7cdb56bb95ee1747"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.1,
"n": 0,
"scriptPubKey": {
"asm": "OP_HASH160 215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff OP_EQUAL",
"hex": "a914215ca3a79ce4c7d3e1d587d9483fbf5461bf91ff87",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"QPePPKTYfei4iP1R7JtdpTLBzhAUtEosdh"
]
}
},
{
"value": 1.869,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 ee308491558158bb5e1478bb5163211f3981687c OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914ee308491558158bb5e1478bb5163211f3981687c88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"n3EPEngegPGeDMmpey4U2quqX79usDRKqR"
]
}
}
]
},
"error": null,
"id": null
}