美文网首页程序员
搭建比特币环境 Java调用RPC

搭建比特币环境 Java调用RPC

作者: 织梦少年666 | 来源:发表于2018-11-05 15:32 被阅读128次

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();
        }
    }

相关文章

网友评论

    本文标题:搭建比特币环境 Java调用RPC

    本文链接:https://www.haomeiwen.com/subject/rjusxqtx.html