手動升級
了解如何手動升級您的節點。
先決條件
1. 升級 Daodst 版本
在升級 Daodst 版本之前。使用 Ctrl/Cmd+C
停止您的 daodst 實例。
接下來,將軟件升級到所需的發行版本。查看 Daodst 發布頁面 有關每個版本的詳細信息。
⚠️注意 : 確保安裝的版本與您正在運行的網絡(主網或測試網)所需的版本相匹配。
cd blockchain
git fetch --all && git checkout <new_version>
make install
📣 提示 : 如果您在這一步遇到問題,請檢查您是否安裝了最新穩定版本的 Golang。
使用 version
命令驗證您是否已在系統上成功安裝 Daodst:
$ stcd version --long
name: daodst
server_name: daodst
version: 3.0.0
commit:
build_tags:
go: go version go1.20 darwin/amd64
...
📣 提示 : 如果軟件版本不匹配,請檢查您的 $PATH
以確保正確的 stcd
正在運行。
2. 替換創世紀文件
📣 提示 : 您可以在以下存儲庫中找到主網或測試網的最新 genesis.json
文件:
將新的創世記保存為new_genesis.json
。然後,將位於 config/
目錄中的舊 genesis.json
替換為 new_genesis.json
:
cd $install_path/.stcd/config
cp -f genesis.json new_genesis.json
mv new_genesis.json genesis.json
📣 提示 :
我們建議使用 sha256sum
來檢查下載的起源與預期起源的哈希值。
cd ~/.stcd/config
echo "<expected_hash> genesis.json" | sha256sum -c
:::
3. 數據重置
⚠️注意 : 如果您要升級的版本需要數據重置(硬分叉),請檢查 此處。如果不是這種情況,您可以跳到重新啟動。
刪除過時的文件並重置數據:
rm $install_path/.stcd/config/addrbook.json
stcd tendermint unsafe-reset-all --home $install_path/.stcd
您的節點現在處於原始狀態,同時保留原始的 priv_validator.json
和 config.toml
。如果您之前設置了任何哨兵節點或完整節點,您的節點仍將嘗試連接到它們,但如果它們還沒有升級,則可能會失敗。
🚨 重要的 🚨
確保每個節點都有一個唯一的 priv_validator.json
。 不要將 priv_validator.json
從舊節點複製到多個新節點。
使用相同的 priv_validator.json
運行兩個節點將導致您雙重簽名。
4. 重啟節點
要在新創世更新後重新啟動節點,請使用daemon
命令:
stcd daemon