Go-Ethereum

eth.newAccount 和 personel.newAccount 之間的區別

  • January 23, 2022

誰能解釋兩者之間的區別

`eth.accounts.create()` and `eth.personal.newAccount()`

我們應該使用哪一個,為什麼?由於我是乙太坊的新手,所以對我來說非常困惑。謝謝

從文件來看,兩者的定義有點不同


eth.accounts

web3.eth.accounts 包含生成乙太坊賬戶以及簽署交易和數據的功能。

只有一個參數是

  • entropy - 字元串(可選):增加熵的隨機強項。如果給出它應該至少有 32 個字元。如果沒有給出隨機字元串,將使用 randomhex 生成一個隨機字元串。

還將返回一個eth.accounts.create()包含

  • 地址 - 字元串:帳戶地址。
  • privateKey - 字元串:帳戶私鑰。
  • 簽署交易(TX$$ , callback $$) - 功能:簽署交易的功能。
  • sign(data) - 功能:簽署交易的功能

eth.personal

web3.eth.personal 包允許您與乙太坊節點的帳戶進行互動。

也只有一個參數,但它允許您設置密碼

  • 密碼 - 字元串:用於加密此帳戶的密碼。

你只得到一個字元串作為返回,它是

  • Promise 返回 String:新創建賬戶的地址。

關於它的資訊不多,但我想你會使用最適合你需要的那個。在大多數情況下,您可能應該使用eth.accounts它,因為它可以為您提供更多資訊。

來源:web3.js - 乙太坊 JavaScript API

通常,該personal模組允許您與需要密碼才能執行操作的“鎖定”帳戶進行互動。該eth.accounts模組允許您與已解鎖的帳戶進行互動,這些帳戶不需要密碼即可執行操作。

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