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

          1.服務器

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

          *注意,bsc節點對硬件要求是我見過的所有鏈中最高的,強烈建議獨立使用一臺高配置服務器。

          2.帶寬

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

          3.操作系統

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

          4.準備環境:

          yum update -y

          yum install screen iftop iotop -y

          4.1.安裝golang

          yum install golang -y

          或編譯安裝:

          cd /root/
          wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
          tar zxvf go1.4-bootstrap-20170531.tar.gz
          cd /root/go/src/
          ./all.bash
           

          5.創建一個screen

          screen -S bsc

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

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

          6.安裝bsc客戶端

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

          mkdir -p /data/bsc/data

          #下載最新版本

          cd /root
          wget -O binance-chain-v1.1.4.tar.gz https://github.com/binance-chain/bsc/archive/refs/tags/v1.1.4.tar.gz
          tar -xvf binance-chain-v1.1.4.tar.gz
          rm -fr binance-chain-v1.1.4.tar.gz

          編譯:

          cd /root/bsc-1.1.4
          make all
          6.1.檢查安裝是否成功

          /root/bsc-1.1.4/build/bin/geth version

           

          7.編輯并上傳配置文件:

          bsc-mainnet配置文件.zip-以太坊文檔類資源-CSDN下載

          config.toml和genesis.json兩個文件放到/data/bsc/目錄下。(該目錄可以自行修改)


          8.設置防火墻
          firewall-cmd --permanent --zone=public --add-port=30311/tcp
          firewall-cmd --permanent --zone=public --add-port=8575/tcp
          firewall-cmd --permanent --zone=public --add-port=8576/tcp
          firewall-cmd --reload
          不懂防火墻配置的,可以先禁用防火墻,關于firewalld的使用技巧,之后會單獨寫一篇教程

          9.1.下載最新的snapshot數據,以加快同步實際

          #最新snapshots參加:https://github.com/binance-chain/bsc-snapshots
          cd /data/bsc/data
          wget -O geth.tar.gz 'https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/geth-20211031.tar.gz?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=ESK5xmr5f1AIK4Mr6our%2FALXzQk%3D&Expires=1638310885'

          tar zxvf geth.tar.gz

          *這里要下載很久,所以帶寬要盡可能高。
          *解壓后,注意目錄結構可能要調整下,保持chaindata和keystore那一級目錄直接在/data/bsc/data/目錄下,如果不在的話,自己mv到那個目錄下。

           

          9.2.啟動客戶端

          #先init,很多人沒有執行這一步,導致下面啟動節點同步出錯

          /root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=10240 init /data/bsc/genesis.json
           

          #啟動節點(上面的init只要執行一次,之后啟動節點不要再執行了)

          ulimit -n 65535
          /root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=8192 --rpc.allow-unprotected-txs --txlookuplimit 0 --allow-insecure-unlock

          *然后按ctrl+ad回到主會話即可


          10.測試驗證

          curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://127.0.0.1:8575

          (如果已經追上最新高度,result會返回false)

          curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://127.0.0.1:8575

           

          11.停止節點

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

          screen -r bsc

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

           

          12.接口文檔參考

          RPC接口文檔同eth文檔,如:

          以太坊JSON RPC手冊 / eth_call - 匯智網


          其它參考:

          BSC鏈github地址:https://github.com/binance-chain/bsc

          主網瀏覽器:https://bscscan.com/

          主網鏈官方部署文檔:https://docs.binance.org/smart-chain/developer/fullnode.html
          私有鏈官方部署文檔:https://docs.binance.org/smart-chain/developer/deploy/local.html


          13.注意事項

          *最大文件打開數必須修改,很多人遇到bsc客戶端經常被kill,就是達到了最大文件打開數限制,導致被操作系統自動kill。

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

          需要看網絡帶寬和磁盤io性能,我用NVMe的裸盤,讀寫1500到2000左右,1G的國外帶寬,基于最新snapshot同步,大概需要3天左右。

          *帶寬需要100M,建議1G,磁盤io越高越好,如果5天還沒有追上,或者高度經常落后,極有可能是服務器磁盤io存在瓶頸

          *硬盤最好4T空間,否則區塊數據都要1.9個T,如果只有2T空間根本不夠用。

          *雖然用snapshot+fast模式同步,但同步到最新高度后,依然會自動切換為full node模式,這是正常現象,不用疑惑,也不要刪除重新同步。

          *再次強調bsc非常耗資源,aws和阿里云的云盤性能根本不夠,除非使用本地ssd才可以,而且bsc同步到最新高度后,對帶寬的使用依然很高,建議網絡不要按流量付費的,否則費用會高到無法承受。

          *建議服務器先做io測試,可以用dd,或者安裝個寶塔面板做跑分測試,磁盤讀寫低于500MB/s的就別安裝了,建議1000MB/s以上,這個非常關鍵。

          posted on 2021-11-14 23:36 方偉的博客 閱讀(4194) 評論(0)  編輯  收藏 所屬分類: 區塊鏈
          主站蜘蛛池模板: 威远县| 来宾市| 海阳市| 斗六市| 泰兴市| 馆陶县| 武陟县| 通州区| 定陶县| 金平| 寻乌县| 仙桃市| 镇坪县| 五大连池市| 来凤县| 永福县| 宁陕县| 子长县| 加查县| 彭州市| 韶山市| 东乡县| 新沂市| 子长县| 七台河市| 波密县| 阳朔县| 密山市| 云阳县| 玛纳斯县| 湖口县| 邻水| 紫阳县| 六安市| 高青县| 毕节市| 陆良县| 凤城市| 东阳市| 北安市| 内黄县|