一、 JSON-RPC API调用方法实例
本篇主要讲解维基链开发过程中JSON-RPC API的调用方法,详情可参考官方文档
1. 由上一篇文章可知私有链节点通过docker运行
注意 docker对端口进行了映射,对外RPC端口为1963
,P2P端口为18923
✘ wujinquan@wujinquandeMacBook-Pro ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7b1d3b7b13 wicc/waykicoind "./coind" 3 days ago Up 8 minutes 0.0.0.0:6968->6968/tcp, 8920/tcp, 0.0.0.0:8920->18920/tcp waykicoind-mainnet
28e3f03b7c23 wicc/waykicoind "./coind" 5 days ago Up 2 hours 8920/tcp, 0.0.0.0:36968->6968/tcp, 0.0.0.0:38920->18920/tcp waykicoind-testnet
54acbd5be305 wicc/waykicoind "./coind" 5 days ago Up 10 hours 8920/tcp, 0.0.0.0:1963->6968/tcp, 0.0.0.0:18923->18920/tcp waykicoind-pri2
wujinquan@wujinquandeMacBook-Pro ~
2. 维基链节点提供客户端命令coind
与节点交互
进入docker容器内,运行coind getinfo
查看节点概况
wujinquan@wujinquandeMacBook-Pro ~ docker exec -it 54acbd5be305 bash
root@54acbd5be305:/opt/wicc# coind getinfo
{
"version" : 1020701,
"fullversion" : "v1.2.7.1-1c00cdf-release-linux (2019-02-26 22:07:56 +0800)",
"protocolversion" : 10001,
"walletversion" : 0,
"balance" : 207898919.99990365,
"timeoffset" : 0,
"proxy" : "",
"nettype" : "REGTEST_NET",
"genblock" : 1,
"chainwork" : "0000000000000000000000000000000000000000000000000000000000008393",
"tipblocktime" : 1551700910,
"paytxfee" : 0.00010000,
"relayfee" : 0.00001000,
"fuelrate" : 1,
"fuel" : 0,
"data directory" : "/root/.WaykiChain/regtest",
"tip block hash" : "66fddd036ae3d292925dbf0b7e1b5e4011ecc31042eb12e39f322048bba5b7c9",
"syncheight" : 33683,
"blocks" : 33683,
"connections" : 0,
"errors" : ""
}
root@54acbd5be305:/opt/wicc#
3. 用postman
工具发起RPC请求进行创建账户等操作
进行RPC调用前请检查RPC 用户名密码,位于WaykiChain.conf
中进行配置
root@54acbd5be305:/opt/wicc# cat ~/.WaykiChain/WaykiChain.conf
rpcuser=waykichain
rpcpassword=wicc123
blockminsize=1000
zapwallettxes=0
debug=INFO
logprinttoconsole=0
logtimestamps=1
logprinttofile=1
logprintfileline=1
server=1
listen=1
uiport=4555
rpcport=6968
rpcallowip=*.*.*.*
isdbtraversal=1
disablesafemode=1
gen=1
genproclimit=1000000
rpcthreads=8
#testnet=1
debug=vm
regtest=1
#debug=ERROR
#debug=debug
root@54acbd5be305:/opt/wicc#
3.1 postman输入对应的用户名密码
3.2 创建账户
3.3 查看钱包节点地址列表
{
"result": [
{
"addr": "wL6Y1B5HLuUVF9C4vyhtuwDb8TqJUsEY89",
"balance": 9.02,
"haveminerkey": false,
"regid": "8999-1"
},
{
"addr": "wLKf2NqwtHk3BfzK5wMDfbKYN1SC3weyR4",
"balance": 207898890.47937199,
"haveminerkey": false,
"regid": "0-1"
},
{
"addr": "wNDue1jHcgRSioSDL4o1AzXz3D72gCMkP6",
"balance": 0.31299943,
"haveminerkey": false,
"regid": "0-2"
},
{
"addr": "wNuJM44FPC5NxearNLP98pg295VqP7hsqu",
"balance": 1.13199953,
"haveminerkey": false,
"regid": "0-3"
},
{
"addr": "wP64X59EoRmeq2M5GrJ23UVttE9uxnuoFa",
"balance": 1.06309901,
"haveminerkey": false,
"regid": "0-4"
},
{
"addr": "wQ8LtDaZJ62q1MsrNUeJurJeRvQzHeEhPW",
"balance": 0,
"haveminerkey": false,
"regid": " "
},
{
"addr": "wQewSbKL5kAfpwnrivSiCcaiFffgNva4uB",
"balance": 0.78119888,
"haveminerkey": false,
"regid": "0-5"
},
{
"addr": "wQquTWgzNzLtjUV4Du57p9YAEGdKvgXs9t",
"balance": 0.6329992,
"haveminerkey": false,
"regid": "0-6"
},
{
"addr": "wRQwgYkPNe1oX9Ts3cfuQ4KerqiV2e8gqM",
"balance": 1.45299922,
"haveminerkey": false,
"regid": "0-7"
},
{
"addr": "wSjMDgKWHC2MzrUamhJtyyR2FTtw8oMUfx",
"balance": 0.63299903,
"haveminerkey": false,
"regid": "0-8"
},
{
"addr": "wSms4pZnNe7bxjouLxUXQLowc7JqtNps94",
"balance": 0.51209969,
"haveminerkey": false,
"regid": "0-9"
},
{
"addr": "wT75mYY9C8xgqVgXquBmEfRmAXPDpJHU62",
"balance": 0.62299951,
"haveminerkey": false,
"regid": "0-10"
},
{
"addr": "wUt89R4bjD3Ca6Vb7mk18oGsVtSTCxJu2q",
"balance": 0.68109936,
"haveminerkey": false,
"regid": "0-11"
},
{
"addr": "wVTUdfEaeAAVSuXKrmMyqQXH5j5Z9oGmTt",
"balance": 0.76409877,
"haveminerkey": false,
"regid": "0-12"
},
{
"addr": "wXfUzAvd5yPKKvx7LvQPYPa7gpaaS5hx8f",
"balance": 0,
"haveminerkey": false,
"regid": " "
},
{
"addr": "wddLspZiEsrFk9mNW42rjuEngaaFMXxSG2",
"balance": 11.91194,
"haveminerkey": false,
"regid": "8976-1"
}
],
"error": null,
"id": "curltext"
}
3.4 向新创建的地址转账
从上篇文章可知已导入regid为0-1
的账户,里面是有初始化余额的。
3.5 等待10s交易确认后,查询新建地址的余额,单位为WICC的最小单位sawi
3.6 激活地址,激活需要手续费,并且地址有余额才能激活
3.7 等待10s交易被确认后,查看地址信息发现有regid
,说明新地址激活成功
至此,RPC基本的调用步骤介绍完毕,下一篇介绍维基链节点如何接入测试网