使用 Ubuntu 和 (Qt Creator IDE) 創建 Genesis Block Twister-Core 的問題
我正在嘗試使用 Ubuntu 和 IDE Qt Creator 在twister-core 中創建一個創世塊。我已經成功編譯了twister-core,我已經更改了這些參數來創建創世塊
pszTimestamp
,genesis.nTime
並且genesis.nNonce
. 然後我重新編譯成功。當我twisterd
使用此命令在終端中執行時./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
發生此錯誤:
終端錯誤:
斷言 `hashGenesisBlock == uint256(“b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640”)’ 失敗。中止(核心轉儲)
當我在 Qt-Creator 上執行它時,會出現同樣的錯誤錯誤:
twisterd: ../twister/src/chainparams.cpp:216: CMainParams::CMainParams(): Assertion `hashGenesisBlock == uint256(“b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640”)’ 失敗。
程序意外結束。
../twister-qt-Output/twisterd 以程式碼 0 退出
請幫我解決這個問題。
chainparams.cpp
包含一行程式碼,用於檢查鏈的創世塊是否等於指定的雜湊值。由於您創建了一個新的創世塊,您必須將值更新為您自己的雜湊值。您可以在此處查看該行的範例:
hashGenesisBlock = genesis.GetHash(); assert(hashGenesisBlock == uint256("9915158279673d101912be80f25c20627f1dd8bf5231e7c46bfec5ed19737f44"));
我取自miguelfreitas/twister-core/…/chainparams.cpp
要弄清楚放在那裡的內容,您可以列印
genesis.GetHash()
並替換斷言中的舊雜湊。要列印創世塊的雜湊值,您可以使用
printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
就在帶有斷言的行上方,它將寫入
~/.bitcoin/debug.log
.