本文作者:陳進堅
博客地址:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
簡書:https://www.jianshu.com/u/8ba9ac5706b6
聯繫方式:[email protected]
安裝bitcoin核心
root@iZj6caj2e6cc3idv4u55emZ:~# sudo apt-get install software-properties-common
root@iZj6caj2e6cc3idv4u55emZ:~# sudo apt-add-repository ppa:bitcoin/bitcoin
root@iZj6caj2e6cc3idv4u55emZ:~# sudo apt-get update
root@iZj6caj2e6cc3idv4u55emZ:~# sudo apt-get install bitcoind
添加bitcoin用戶
root@iZj6caj2e6cc3idv4u55emZ:~# sudo adduser --home /home/bitcoin bitcoin #將bitcoin用戶主目錄指向你的目錄,需要切換到root用戶
root@iZj6caj2e6cc3idv4u55emZ:~# sudo usermod -a -G sudo bitcoin #將bitcoin用戶加入到sudo羣組中
配置bitcoin參數
root@iZj6caj2e6cc3idv4u55emZ:~# su - bitcoin #切換到bitcoin用戶
bitcoin@ubuntu:~$ mkdir .bitcoin #創建目錄
bitcoin@ubuntu:~$ cd .bitcoin/
bitcoin@ubuntu:~$ vi bitcoin.conf
將下面信息全部複製,並修改rpcuser(RPC用戶名),rpcpassword(RPC用戶密碼),rpcallowip(允許訪問的ip地址)然後保存
# Generated by https://jlopp.github.io/bitcoin-core-config-generator/
# This config should be placed in following path:
# ~/.bitcoin/bitcoin.conf
# [rpc]
# Accept command line and JSON-RPC commands.
server=1
# Username for JSON-RPC connections
rpcuser=bitcoinrpc
# Password for JSON-RPC connections
rpcpassword=bitcoinrpc
# Listen for JSON-RPC connections on this port
rpcport=18332
# Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4),
# a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option
# can be specified multiple times.
rpcallowip=192.168.1.178
rpcallowip=192.168.1.179
# Run this node on the Bitcoin Test Network.
testnet=1
啓動bitcoin程序
bitcoin@ubuntu:~/.bitcoin$ bitcoind -daemon
Bitcoin server starting
查看是否啓動成功,需要輸入上一步配置的密碼,用戶名bitcoinrpc改爲你配置的用戶名:
bitcoin@ubuntu:~$ curl --user bitcoinrpc --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnetworkinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
Enter host password for user 'bitcoinrpc':
能返回下面的信息表示啓動成功
{"result":{"version":170000,"subversion":"/Satoshi:0.17.0/","protocolversion":70015,"localservices":"000000000000040d","localrelay":true,"timeoffset":0,"networkactive":true,"connections":5,"networks":[{"name":"ipv4","limited":false,"reachable":true,"proxy":"","proxy_randomize_credentials":false},{"name":"ipv6","limited":false,"reachable":true,"proxy":"","proxy_randomize_credentials":false},{"name":"onion","limited":true,"reachable":false,"proxy":"","proxy_randomize_credentials":false}],"relayfee":0.00001000,"incrementalfee":0.00001000,"localaddresses":[],"warnings":""},"error":null,"id":"curltest"}
停止bitcoin程序
bitcoin@ubuntu:~/.bitcoin/testnet3$ bitcoin-cli stop
Bitcoin server stopping
檢查區塊同步信息
檢查同步日誌(刷屏):
bitcoin@ubuntu:~/.bitcoin$ cd testnet3/
bitcoin@ubuntu:~/.bitcoin/testnet3$ tail -f debug.log
2018-11-21T02:40:28Z net thread start
2018-11-21T02:40:31Z New outbound peer connected: version: 70015, blocks=1444366, peer=1
2018-11-21T02:40:31Z New outbound peer connected: version: 70015, blocks=1444366, peer=0
2018-11-21T02:40:32Z 108 addresses found from DNS seeds
2018-11-21T02:40:32Z dnsseed thread exit
2018-11-21T02:40:36Z New outbound peer connected: version: 70015, blocks=1444366, peer=2
2018-11-21T02:40:37Z New outbound peer connected: version: 70015, blocks=1444366, peer=5
2018-11-21T02:40:37Z New outbound peer connected: version: 70015, blocks=1444366, peer=3
2018-11-21T02:40:41Z New outbound peer connected: version: 70015, blocks=1444366, peer=4
2018-11-21T02:40:48Z New outbound peer connected: version: 70015, blocks=1414448, peer=6
.......
查詢當前同步到的區塊數:
bitcoin@ubuntu:~$ curl --user bitcoinrpc --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
查詢測試網絡中的總區塊:https://live.blockcypher.com/btc-testnet/
需要注意的是隻有區塊同步到最新纔可以查到錢包餘額,從頭開始同步大概需要一天時間。
創建錢包地址
bitcoin@ubuntu:~$ curl --user bitcoinrpc --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": ["test"] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
Enter host password for user 'bitcoinrpc':
{"result":"2MyUBCnC2FvwX6ihegTVCKn1iKc5JeyEbKr","error":null,"id":"curltest"}
返回結果中的 “2MyUBCnC2FvwX6ihegTVCKn1iKc5JeyEbKr” 即爲新創建的比特幣錢包,以2開頭表示是測試鏈的錢包地址,公鏈上的錢包地址一般是3開頭
獲取測試幣
在下面兩個網站中可以獲得少量的測試幣,用來測試足夠了:
https://coinfaucet.eu/en/btc-testnet/
http://bitcoinfaucet.uo1.net/send.php
你可以在比特幣區塊鏈瀏覽器查到餘額:https://live.blockcypher.com/btc-testnet/address/2MtW8kA68TMrBLZb373WttjHbxfuRNdvHh7/