BTC环境搭建
1.准备服务器 (推荐linux centos环境 windows不稳定)
最近在准备一个比特币钱包的项目,需要在CENTOS服务器上部署比特币钱包,由于该项目是部署的核心钱包,需要同步所有的blocks, 需要的磁盘空间大约在170G左右。
服务器的配置:
CPU: 2核以上
内存: 2G以上
数据盘: 170G以上(注意需要专门增加一块存储盘,否则全节点区块链存不下)
带宽: 2Mbps以上
操作系统:centos 7.0 64位
2.下载资源
最新下载地址:https://bitcoin.org/zh_CN/download
进入linux 解压:tar -zxvf ...
image.png
进入 cd bitcoin-0.17.0/bin
image.png
执行 ./bitcoind --datadir=/data/data/
/data/data/ 为节点资源的路径 如果不定义则采用系统自定义的路径
运行命令./bitcoin-cli getblockchaininfo (查看当前钱包信息)
{
"deprecation-warning": "WARNING: getinfo is deprecated and will be fully removed in 0.16. Projects should transition to using getblockchaininfo, getnetworkinfo, and getwalletinfo before upgrading to 0.16",
"version": 150100,
"protocolversion": 70015,
"walletversion": 139900,
"balance": 0.01000000,
"blocks": 509920,
"timeoffset": -1,
"connections": 8,
"proxy": "",
"difficulty": 2874674234415.941,
"testnet": false,
"keypoololdest": 1517114450,
"keypoolsize": 1999,
"paytxfee": 0.00000000,
"relayfee": 0.00001000,
"errors": ""
}
Java RPC接口访问
查看日志最后1000行:cat debug.log | tail -n 1000
查看正在运行的bitcoin进程: ps -ef | grep bit
将配置文件复制到root:cp /data/data/bitcoin.conf /root/.bitcoin/
启动带有配置的bitcoin: ./bitcoind -datadir=/data/data/ -conf=/data/data/bitcoin.conf -daemon
编辑配置文件 vim /root/.bitcoin/bitcoin.conf
#监听模式,默认启动
listen=1
#允许bitcoin接收JSON-RPC
server=1
#RPC用户名
rpcuser=bitcoincash
#RPC密码
rpcpassword=123456
#RPC端口
rpcport=8888
#允许RPC访问ip 不限制ip
rpcallowip=0.0.0.0/0
将配置文件复制到root:cp /root/.bitcoin/bitcoin.conf /data/data/
启动带有配置的bitcoin:nohup ./bin/bitcoind -datadir=/data/data/ -conf=/data/data/bitcoin.conf >/dev/null 2>log &
备注:
默认同步端口:8333
默认RPC端口:8332
API:https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
Java代码
<!--比特币-->
<dependency>
<groupId>wf.bitcoin</groupId>
<artifactId>JavaBitcoindRpcClient</artifactId>
<version>0.9.13</version>
</dependency>
public void btc(){
String user = "admin";
String password = "admin_ecc";
String host = "47.244.0.0";
String port = "8332";
try {
URL url = new URL("http://" + user + ':' + password + "@" + host + ":" + port + "/");
BitcoinJSONRPCClient bitcoinClient = new BitcoinJSONRPCClient(url);
System.out.println(bitcoinClient.getNewAddress("kevens"));
} catch (MalformedURLException e) {
System.out.println("error"+e.getMessage());
e.printStackTrace();
}
}
网友评论