web3.eth.accounts.create 到底是做什麼的
什麼時候
web3.eth.accounts.create
用於創建一個類似這樣的帳戶可以看到。web3.eth.accounts.create(); > { address: "0xb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01", privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709", signTransaction: function(tx){...}, sign: function(data){...}, encrypt: function(password){...} }
現在如果
web3.eth.accounts.encrypt(privateKey, password);
使用我們從上一步中獲得的相同私鑰執行,我們可以獲得作為 web3 密鑰庫 v3 標準的輸出。現在,如果我們將此文件儲存在 geth 節點的密鑰庫文件夾(exuser/.ethereum/private/keystore
)中並執行,personal.listAccounts
我們可以在該列表中獲取我們創建的地址。那麼,當我需要使用什麼密碼來解鎖此帳戶時,我需要提供
web3.personal.unlockAccount
什麼密碼才能解鎖我的帳戶?
web3.eth.accounts.create();
已經創建了一個新帳戶您可以在 js 中使用類似這樣的內容查看新帳戶資訊:
var account = web3.eth.accounts.create(); //Creates the account (is an object) console.log(account); //show the object in the console
然後,如果您想獲取密鑰庫,則必須使用以下內容提供 privateKey 和密碼:
var walletprivate = account["privateKey"]; //Get the private key from the object var phppasswallet = "THE_PASSWORD"; //provide a password var keystore = web3.eth.accounts.encrypt(walletprivate, phppasswallet); //Get the keystore
但這只是如果您想要帳戶的密鑰庫;帳戶已經創建,
web3.eth.accounts.create();
您可以直接使用私鑰使用它
它是函式中
password
使用的encrypt
。您在這裡所做的是,使用密碼加密儲存您帳戶的私鑰(因此沒有人可以通過訪問密鑰庫文件找到它)。
為了解鎖帳戶,您需要通過解密來獲取私鑰。您需要在此處提供用於加密的密碼。