比特币节点搭建,相关资料及遇到的坑

参考借鉴地址 

             https://www.cnblogs.com/elvi/p/10203927.html  (博客园子隐)

安装及配置

 1.环境ubuntu18,硬盘建议尽量大,最少500G,节点数据一直增多。

 2.下载及解压安装

                cd /opt

                wget https://bitcoin.org/bin/bitcoin-core-0.18.0/bitcoin-0.18.0-x86_64-linux-gnu.tar.gz

                解压 tar zxf bitcoin-0.18.0-x86_64-linux-gnu.tar.gz 

                创建软连接(此步骤可省略)
                ln -fs /opt/bitcoin-0.18.0/opt/bitcoin
                ln -fs /opt/bitcoin-0.18.0/bin/bitcoind  /usr/local/bin/bitcoind
                ln -fs /opt/bitcoin-0.18.0/bin/bitcoin-cli /usr/local/bin/bitcoin-cli

            3.创建配置文件

       默认读取配置文件位置在~/.bitcoin/bitcoin.conf,首先我们创建目录和配置下文件

         mkdir ~/.bitcoin

         vim ~/.bitcoin/bitcoin.conf

       文件内容

         dir=/data/bitcoin  #数据保存目录,如果不是root账户,目录chown或者chmod
                    dbcache=10240
                    txindex=1  #所有交易进行索引;否则只保留钱包地址交易索引记录
                    rpcuser=btc  #远程访问的认证用户
                    rpcpassword=btc2019 #远程访问密码
                    daemon=1  #后台运行
                    server=1
                    rest=1
                    rpcallowip=0.0.0.0/0  #允许访问rpc的IP限制,可配置多个(安全性,出测试外不要配置成rpcallowip=0.0.0.0/0)                            #rpcport=8332  #绑定rpc的端口,因为需要testnet测试,默认端口是18332,所以我未配置这个
                    deprecatedrpc=accounts

     运行之后自动同步数据

        cd /opt/bitcoin-0.18.0/bin

         正式节点./bitcoind

         测试节点./bitcoind -testnet

 4.RPC操作

         cd /opt/bitcoin-0.18.0/bin

         正式节点./bitcoin-cli  加其他参数

         测试节点./bitcoin-cli -testnet  加其他参数

         具体操作看官方文档 https://bitcoin.org/zh_CN/developer-reference#bitcoin-core-apis

相关资料

1.测试币获取

        https://coinfaucet.eu/en/btc-testnet/

        https://tbtc.bitaps.com/

2.交易查询

        https://www.blockchain.com/zh-cn/explorer

        https://tbtc.bitaps.com/

3.项目(程序中调用RPC)

        本人用golang

       https://github.com/toorop/go-bitcoind

        其他自行github上搜索bitcoin rpc找

遇到的坑

        1.钱包加密encryptwallet 密码重启服务,walletlock 清空内存中原有的密码,walletpassphrase把密码重新放入内存,walletpassphrasechange修改密码
                   2.比特币测试节点 error code: -28,很长时间后cli还是这样,没办法,kill进程,加-reindex -resan启动后,发现区块同步不了,多次kill进程再启动也没用,原进程是daemon启动的。用-daemon=0 -debug=1启动最后
2019-04-24T13:11:36Z leveldb: Level-0 table #8: 80113960 bytes OK
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: Flush(true)
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: Flushing wallet.dat (refcount = 0)...
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: wallet.dat checkpoint
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: wallet.dat detach
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: wallet.dat closed
2019-04-24T13:11:36Z BerkeleyEnvironment::Flush: Flush(true) took             238ms
2019-04-24T13:11:36Z [default wallet] Releasing wallet
2019-04-24T13:11:37Z Shutdown: done
再次启动,奇迹出现了,可以同步了,神奇的比特币,我那个去,此问题很可能是区块没同步完,有耐心的可以等等

 

     


 


更多精彩内容