Web3js

創建一個新的 ETH 賬戶以使用 Web3JS 轉移代幣

  • April 27, 2022

我正在嘗試使用此腳本創建一個新帳戶:

let account = web3.eth.accounts.create();

它會給我這樣的回報:

{
address: "0xb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01",
privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709",
signTransaction: function(tx){...},
sign: function(data){...},
encrypt: function(password){...}

}

所以我有一些問題:

  1. 我可以使用此帳戶發送和接收令牌(可能通過 Metamask)嗎?
  2. web3.eth.accounts.create()和有什麼區別web3.eth.personal.newAccount(password, [callback])
  3. Web3JS 是否為我們提供了一種自動傳輸和接收令牌的方法?

我是新手,真的需要一些幫助。每個答案都將受到高度讚賞。非常感謝你 !!!

1- 有兩種類型的乙太坊賬戶:

  • 外部擁有的賬戶 (EOA)
  • 合約賬戶

EOA 賬戶有一個私鑰(必須保密),另一方面,合約賬戶沒有任何私鑰。您通過 Metamask 或 web3.js 創建的帳戶屬於 EOA 類型。只要您擁有帳戶的私鑰,就可以將其與 Metamask 或任何其他與 web3 兼容的乙太坊錢包一起使用。

2-web3.eth.accounts.create提供熵源(可選)並創建一個新的 EOA 帳戶,並返回創建的帳戶的私鑰和公共地址。

根據此頁面

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

顯然,您創建帳戶的私鑰web3.eth.personal.newAccount是在節點上製作或保存的,所以我個人從不使用它。

3-我不知道您所說的自動轉移或接收代幣是什麼意思。要發送 ERC20 代幣,您通常需要使用您的私鑰簽署並送出交易,這可以通過您的網路錢包或 web3.js 完成。要接收 ERC20 代幣,您無需做任何事情。

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