《BTC区块链搭建及应用》
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# df -h
https://bitcoin.org/en/download
使用技巧:对于连上网的Linux系统,可以使用wget命令下载,如下:
[root@iZ2zeauqkyqtj5k0ntwr5iZ ~]# wget \
https://bitcoin.org/bin/bitcoin-core-0.16.0/bitcoin-0.16.0-x86_64-linux-gnu.tar.gz
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# mkdir -pv /data/blockchain_data/bitcoin/
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# tar xf bitcoin-0.16.0-x86_64-linux-gnu.tar.gz \
-C /data/blockchain_data/bitcoin/
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# cd /data/blockchain_data/bitcoin/
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# mv bitcoin-0.16.0-x86_64-linux-gnu bitcoin-0.16.0
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# mkdir -pv data_0.16.0
[root@iZ2zeauqkyqtj5k0ntwr5iZ bitcoin]# cd bitcoin-0.16.0/bin/
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoind -rpcuser=BpKgvNqEMYU \
-rpcpassword=5McOBR6cpRNM8zaOxmxYf80AbWhCne0KbhNPjPbOM \
-rpcallowip=120.27.14.93 \
-datadir=/data/blockchain_data/bitcoin/data_0.16.0/ \
-keypool=10000 \
-daemon \
-txindex=1
参数含义:
bitcoind: 该文件为一个可执行文件,是BTC客户端同步工具的核心
-rpcuser:指定rpc方式访问BTC链时的用户名,在进行rpc访问时,需要进行身份认证
-rpcpassword:指定rpc方式访问BTC链时的密码
-rpcallowip:指定哪些IP可以通过远程的方式访问BTC区块链的API接口
-datadir:表示BTC同步区块数据时的数据存放目录
-daemon:表示以后台进程的方式启动,不向控制台实时输出日志,如果要实时查看日志,可以在datadir指定的目录下查看debug.log文件
-txindex:表示是否开启交易信息查询功能,如果没有改选项,则在区块数据同步完成之后,无法查询到非本链上的交易记录.
注意:如果需要更多的启动参数,可以通过./bitcoind --help命令查看。
启动之后可以查看到类似于如下的输出信息:
方法一:
查看端口,使用如下命令:
[root@iZ2zeauqkyqtj5k0ntwr5iZ data_0.16.0]# netstat -tunlp
BTC启动之后,默认会开启两个tcp端口,8332为rpc服务监听的端口,远程rpc调用的时候使用这个端口,8333为bitcoind进程的默认端口。
方法二:
使用如下命令查看当前区块的信息:
[root@iZ2zeauqkyqtj5k0ntwr5iZ data_0.16.0]# cd \
/data/blockchain_data/bitcoin/bitcoin-0.16.0/bin/
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoin-cli getblockchaininfo
注意:
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoin-cli getinfo
第一步:首先查看当前区块的区块高度,0.16.0版本的使用如下命令查看:
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoin-cli getblockchaininfo
第二步:查看区块链浏览器上的最新区块高度:
地址:
https://blockchain.info/zh-cn/
如果上述两个地方查出的区块高度相差不大或者相等,则说明区块同步完成。
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoind -rpcuser=BpKgvNqEMYU -rpcpassword=5McOBR6cpRNM8zaOxmxYf80AbWhCne0KbhNPjPbOM -rpcallowip=120.27.14.93 -datadir=/data/blockchain_data/bitcoin/data_0.16.0/ -keypool=1000000 -daemon -txindex=1
[root@iZ2zeauqkyqtj5k0ntwr5iZ bin]# ./bitcoind stop
注意:如果上述命令长时间不能停止BTC区块,则可以使用kill命令结束bitcoind进程.
3.BTC查询类命令:
请参考文档:https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
使用方法:
进入到BTC的安装目录的bin目录下,然后执行:
./bitcoin-cli [command] [params] -rpcuser=xxx -rpcpassword=xxx即可
如:./bitcoin-cli getbalance wb表示查询wb账户中的余额.
使用技巧:
如上命令每次使用都需要加-rpcuser和-rpcpassword参数,可以将此参数配置在用户家目录下的.bitcoin/bitcoin.conf文件中:
可能的原因:
解决办法:
(1)查看云服务器的防火墙,安全规则是否允许某个IP访问
(2)查看BTC区块链启动的时候,IP是否在其允许访问的列表中,如下:
如上表示该区块链允许IP为120.27.14.93的客户端访问。
前提:升级之前,需要确保至少有两台BTC区块链服务器,否则会长时间的中断业务
假设:有A服务器,和B服务器,BTC的版本目前都为V0.15.0
业务:需要将BTC服务的版本由V0.15.0升级到V0.16.0
升级步骤:
发币及各类查询:修改Tomcat中项目的配置文件,然后重启tomcat即可。如下: