方偉的博客
          j2ee技術、網絡、web等,同名的人真多,我的QQ是20025404
          posts - 21,comments - 14,trackbacks - 0

          1.服務器

          需要1T NVMe 硬盤,最好是裸硬盤,云盤io性能太差,建議物理機(裸金屬主機)+本地SSD。

          2.帶寬

          越高越好,建議國外服務器,1G帶寬不限流量

          3.操作系統

          建議centos7/8,或ubuntu,這里均以centos為例

          4.準備環境:

          yum update -y

          yum install screen iftop iotop -y

          5.創建一個screen

          screen -S btc

          *注意1:最后退出時用ctrl+ad(順序按a和d字母即可),絕對不要用exit或ctrl+d退出會話。

          *注意2:退出會話后,可以用screen -r btc重新連接到會話。這樣可以保持在shell下運行,網絡中斷不會影響。

          6.安裝bitcoin客戶端

          #這里我的數據目錄,可以根據需要自行更改

          mkdir -p /data1/btc/data

          #下載最新版本,今天的最新版本是22.0

          cd /root
          wget -O bitcoin-22.0.tar.gz https://bitcoincore.org/bin/bitcoin-core-22.0/bitcoin-22.0-x86_64-linux-gnu.tar.gz
          tar -zxvf bitcoin-22.0.tar.gz

          7.編輯并上傳配置文件:/data1/btc/bitcoin.conf

          datadir=/data1/btc/data
          wallet=btc20211107    #隨便取個名字,其實用不到這個
          testnet=0    # 0 - 主網 1 - 測試網
          regtest=0    # 是否以私有鏈模式運行:0 - 否 1 - 是
          #gen=0        # 設置 gen=1 以嘗試比特幣挖礦
          #daemon=1    # 后臺執行

          #proxy=127.0.0.1:9050 # 是否使用socks5代理,默認關閉
          #bind=<addr>   # 注釋此行,表示使用默認監聽地址
          #whitebind=<addr>
          #addnode=69.164.218.197  # 可添加多個
          #addnode=10.0.0.2:8333
          #connect=69.164.218.197
          #listen=1
          #maxconnections=10    #入站/出站最大連接數

          server=1    # 是否啟動JSON-RPC接口: 0 - 不啟動 1 - 啟動
          txindex=1
          rpcbind=0.0.0.0
          rpcport=8432        #端口可以自行修改
          rpcuser=admin        #用戶名自行修改
          rpcpassword=123456    #密碼自行修改,但最好不要有特殊字符,像@
          rpcallowip=0.0.0.0/0    #可以添加多個
          #rpcallowip=0.0.0.0/0    #可以添加多個
          #rpcallowip=192.168.0.0/16
          #rpcconnect=127.0.0.1

          #txconfirmtarget=6    #交易最小確認數,默認值:6
          #paytxfee=0.000x    #paytxfee:每次發送比特幣時的交易費

          #txconfirmtarget=n
          #paytxfee=0.000x
          #keypool=100
          #prune=550

          #min=1                #是否啟動后最小化
          #minimizetotray=1    #是否最小化到系統托盤
          8.設置防火墻
          firewall-cmd --permanent --zone=public --add-port=8432/tcp
          firewall-cmd --permanent --zone=public --add-port=8433/tcp
          firewall-cmd --reload
          不懂防火墻配置的,可以直接先禁用防火墻,關于firewalld的使用技巧,之后會單獨寫一篇教程

          9.啟動客戶端

          ulimit -n 65535
          cd /root/bitcoin-22.0
          /root/bitcoin-22.0/bin/bitcoind -port=8433 -conf=/data1/btc/bitcoin.conf

          *然后按ctrl+ad回到主會話即可
          10.測試驗證(以下列出幾種方式,可以看自己喜好)

          curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id": "1", "method": "getindexinfo", "params": []}' -H 'content-type: text/plain;' http://127.0.0.1:8432/

          curl --data-binary '{"jsonrpc":"1.0","id":"1","method":"getindexinfo","params":[]}' -H 'content-type:text/plain;' http://admin:123456@127.0.0.1:8432/

          或:

          /root/bitcoin-22.0/bin/bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=admin -rpcpassword=123456 -rpcport=8432 getindexinfo

          11.停止節點

          方式1:(建議,畢竟停止后還要啟動不是)

          screen -r btc

          按ctrl+c,等待一會即可看到節點停止

          方式2:

          任意會話中輸入命令:

          /root/bitcoin-22.0/bin/bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=admin -rpcpassword=123456 -rpcport=8432 stop

          12.接口文檔參考

          https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
          https://developer.bitcoin.org/reference/rpc/index.html

          太多了,大家可以搜下,網上有很多

          13.注意事項

          同步到最高區塊所需時間:

          需要看網絡帶寬和磁盤io性能,我用NVMe的裸盤,讀寫1500到2000左右,1G的國外帶寬,大概同步幾個小時即可(沒有具體去算,應該5、6個小時,最高不到12個小時)。

          帶寬最高使用到100MB/s左右。

          如果花了一天以上沒有同步到最新,有可能是服務器存在瓶頸,還是建議用國外物理機,10M帶寬基本上不怎么夠用,建議至少100M的帶寬,不需要cn2線路,成本并不高。

          posted on 2021-11-14 23:36 方偉的博客 閱讀(1041) 評論(0)  編輯  收藏 所屬分類: 區塊鏈
          主站蜘蛛池模板: 阜宁县| 瑞金市| 来凤县| 河津市| 五峰| 前郭尔| 德江县| 邢台市| 临朐县| 肥东县| 黑水县| 赤城县| 洮南市| 怀集县| 凯里市| 水富县| 庆阳市| 资中县| 浦县| 梅河口市| 阳朔县| 新野县| 祥云县| 江川县| 化州市| 彭州市| 临夏县| 正阳县| 奈曼旗| 陇南市| 项城市| 河东区| 成都市| 瓦房店市| 贞丰县| 衢州市| 八宿县| 北票市| 江油市| 同心县| 博湖县|