Skip to content

手動升級

了解如何手動升級您的節點。

先決條件

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.jsonconfig.toml。如果您之前設置了任何哨兵節點或完整節點,您的節點仍將嘗試連接到它們,但如果它們還沒有升級,則可能會失敗。

🚨 重要的 🚨

確保每個節點都有一個唯一的 priv_validator.json不要priv_validator.json 從舊節點複製到多個新節點。 使用相同的 priv_validator.json 運行兩個節點將導致您雙重簽名

4. 重啟節點

要在新創世更新後重新啟動節點,請使用daemon命令:

stcd daemon