區塊鏈秘技
tronscan提供的api與第三方提供的api都有使用次數的限制,自己架設節點可以避免這個問題。
架設Tron全節點可提高區塊鏈網絡的分散性、參與共識運行、確保交易安全、支援去中心化應用(DApps)的運行,同時有助於獲得網絡獎勵及參與治理,增強Tron生態系統的穩定性和可信度。
tron 全節點架設資訊 java-tron on GitHub.
下載tron節點專案
git clone https://github.com/tronprotocol/java-tron.git
安裝JDK8與JRE8
sudo apt-get install openjdk-8-jdk
sudo apt install openjdk-8-jre-headless
#安裝要檢查是否安裝成功
java -version # 檢查JDK8版本
javac -version # 檢查JDE8版本
切換到java-tron資料夾
cd java-tron
建立Fullnode.jar檔
./gradlew clean build -x test # (Fullnode.jar會放在java-tron/build/libs)
切換到java-tron/build/libs路徑底下
cd java-tron/build/libs
建立main_net_config.conf (建立tron 節點的conifg檔,要將main_net_config.conf放置在java-tron/build/libs路徑下)
vim main_net_config.conf # 建立檔案(一開始為空的,只有檔名)
將官方文件的main_net_config.conf 內容,複製到自己的main_net_config.conf裡面
(https://github.com/tronprotocol/tron-deployment/blob/master/main_net_config.conf)
在main_net_config.conf 裡加入參數搜尋jsonrpc,修改一下參數(註解要移除)
before:
https://hackmd.io/_uploads/SkSAkMOCn.png
after:
https://hackmd.io/_uploads/Sy1QWMuA2.png
(設置的原因: api 要調用50545與8090端口,50545端口需要設定才能開啟,8090本來就打開了)
設定supportConstant為true(預設為false),避免tron在解析合約資料時產生CONTRACT_VALIDATE_ERROR的錯誤。
開啟端口50545與50555
before
after
運行節點(要先切換到java-tron/build/libs)
java -Xmx24g -XX:+UseConcMarkSweepGC -jar FullNode.jar -c main_net_config.conf
開啟同步InternalTransaction
經過上述步驟之後,tron節點同步速度非常慢
# 第一次使用需要安裝
sudo apt-get install axel
nohup axel -a -n 40 https://fullnode-backup-3.s3-ap-southeast-1.amazonaws.com/FullNode-54424085-4.7.2-output-directory.tgz
# nohup (背景程式執行)
# axel: 這是要執行的命令,通常用於加速文件下載。
# -a: 這是一個選項(也可以稱為參數),它通常用於啟用axel的多線程下載功能,這可以加速文件的下載速度。
# -n 40: 這是另一個選項,它指定了同時使用的下載連接的數量。在這個情況下,設置為40,表示同時使用40個連接下載文件。
nohup tar xvf FullNode-54424085–4.7.2-output-directory.tgz
du -h output-directory #查詢資料夾容量
nohup java -Xmx24g -XX:+UseConcMarkSweepGC -jar FullNode.jar -c main_net_config.conf -d output-directory
sudo ps aux | grep [F]ullNode
自己的內部網路IP
,http不加憑證)參考文章 | README |
---|---|
java-tron | https://github.com/tronprotocol/java-tron |
main_net_config.conf | https://github.com/tronprotocol/tron-deployment/blob/master/main_net_config.conf |
tron_backup | https://backup.trongrid.io/ |
TRON_InternalTransaction.md | https://github.com/tronprotocol/documentation/blob/master/English_Documentation/TRON_Virtual_Machine/InternalTransaction.md |