Solidity

使用 state 包的 SetBalance() 函式時使用的單位是什麼?

  • January 25, 2019

也許我錯過了它,但似乎無法在任何地方找到它。單位是 Gwei 還是 Eth?

例如在寫作時:

stateDb, err := state.New(rootHash, db)
if err!=nil{
  return err
}
addressA := common.HexToAddress("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B")

stateDb.SetBalance(addressA, big.NewInt(1000))

我們得到 1000 eth 還是 1000 wei?

任何幫助表示讚賞

從 開始state_object.go,州程式碼處理以下帳戶表示:

// Account is the Ethereum consensus representation of accounts.
// These objects are stored in the main account trie.
type Account struct {
   Nonce    uint64
   Balance  *big.Int
   Root     common.Hash // merkle root of the storage trie
   CodeHash []byte
}

setBalance()適用於 的這種表示Balance

程式碼中的狀態表示是黃皮書規範的直接實現。黃皮書第 4.1 節對世界狀態的描述是這樣說的:

balance : 一個標量值,等於該地址擁有的 Wei 數量

引用自:https://ethereum.stackexchange.com/questions/66146