本文作者:陈进坚
博客地址:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
联系方式:jian1098@qq.com
安装bitcoind
在官网https://bitcoincore.org/bin
中找到合适的版本,必须是0.18.0以下的版本,要不然会连接不上节点,新版本的配置有待研究
1 | root@ubuntu:~# wget https://bitcoincore.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-x86_64-linux-gnu.tar.gz |
创建软连接
1 | root@ubuntu:~# cd bitcoin-0.17.1 |
检查版本号
1 | root@ubuntu:~# bitcoind --version |
配置bitcoin参数
1 | root@ubuntu:~$ mkdir .bitcoin #创建目录 |
将下面信息全部复制,并修改rpcuser(RPC用户名),rpcpassword(RPC用户密码),rpcallowip(允许访问的ip地址)然后保存
1 | # Generated by https://jlopp.github.io/bitcoin-core-config-generator/ |
启动bitcoin程序
1 | root@ubuntu:~/.bitcoin$ bitcoind -daemon |
-deamon
表示后台运行
停止bitcoin程序
1 | root@ubuntu:~/.bitcoin/testnet3$ bitcoin-cli stop |
访问Json-RPC接口
在主网(mainnet
)和测试网络(testnet
)模式下json-rpc
端口是使用.bitcoin/bitcoin.conf
中配置的18332
端口进行访问,但是在私有链(regtest
)模式下似乎配置了并没有作用,还是要访问默认的18443
端口。
我们可以使用postman
或者curl
等工具进行访问:bitcoinrpc:bitcoinrpc分别是rpc用户名和密码
1 | curl -s -X POST --user bitcoinrpc:bitcoinrpc -H 'content-type: text/plain;' http://127.0.0.1:18443/ --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnetworkinfo", "params": [] }' |
更多RPC
方法可以参考https://www.blockchain.com/es/api/json_rpc_api
和https://bitcoin-rpc.github.io/en/doc/0.17.99/rpc/
bitcoin-cli常用命令
查看钱包信息
该命令可以获取到钱包版本、余额、交易数量等信息
1 | bitcoin-cli getwalletinfo |
获取所有钱包地址及其账号名
1 | bitcoin-cli listreceivedbyaddress 1 true |
查询余额
1 | bitcoin-cli getbalance |
注意:查询得到的余额是所有钱包地址的可用余额总和,并且不包含私钥不在节点的钱包地址余额。
生成钱包地址
1 | bitcoin-cli getnewaddress "test" #"test"是输入的账号 |
查询地址收到币的数量
1 | bitcoin-cli getreceivedbyaddress 2MtmeZ7W17zJzigtRhzKMP6MSc2DSyL5LYU |
命令列表
1 | bitcoin-cli help |