Web3js
創建一個新的 ETH 賬戶以使用 Web3JS 轉移代幣
我正在嘗試使用此腳本創建一個新帳戶:
let account = web3.eth.accounts.create();
它會給我這樣的回報:
{ address: "0xb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01", privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709", signTransaction: function(tx){...}, sign: function(data){...}, encrypt: function(password){...}
}
所以我有一些問題:
- 我可以使用此帳戶發送和接收令牌(可能通過 Metamask)嗎?
web3.eth.accounts.create()
和有什麼區別web3.eth.personal.newAccount(password, [callback])
?- 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 代幣,您無需做任何事情。