Go-Ethereum
私有鏈:每個區塊處理大量的乙太幣?(Big.Int 問題)
我一直在使用 geth 來實現私有鏈,我們在鏈上使用更大的乙太循環。
為了修改這一點,我嘗試將塊獎勵更改為:
*big.Int = big.NewInt(25000e+18) 在 ethash/consensus.go
但是,這會導致 Int 溢出的錯誤,因為似乎 golang 自動將 big.NewInt 轉換為 Int64 類型。
鑑於在目前的乙太坊區塊鏈上,使用者的餘額大於 Int64 數字所允許的(以 Wei 表示時),我假設為 geth 實施的解決方法尚未應用於塊獎勵邏輯。
是否有人熟悉如何處理以及如何將塊獎勵調整為大於 Int64 允許的數字?
事實證明,在引擎蓋下 big.Int 可以處理大於 Int64 類型的數字並返回它們,但不能直接設置它們。
要解決此問題,您將初始數字設置為 big.Int,例如 (25000),然後為 (1e+18) 應用 .Mul,它將儲存等效值 (25000e+18)