Contract-Development
如何創建自己的乙太坊錢包
是否有可能開發一個沒有元遮罩的自己的乙太坊錢包,它應該連接到主乙太坊網路。就像在 blockchain.info 中,使用者只需提供電子郵件地址和密碼即可點擊該帳戶,將在後端創建一個帳戶,並將錢包地址發送到該電子郵件地址。要從 metamask 訪問我的帳戶,我正在編寫此程式碼。
const provider = new HDWalletProvider( '12 mnemonics', 'https://rinkeby.infura.io/authid', ); const web3 = new Web3(provider); const accounts = await web3.eth.getAccounts(); console.log('Attempting to deploy contract from ', accounts[1]);
得到了我第一個問題 12 助記符的答案,但是
我如何呼叫沒有元遮罩的solidity編寫的應付函式?我在這裡創建了新問題如何在沒有元遮罩的情況下進行交易
現在我的問題是如何在沒有元遮罩的情況下動態獲取新的 12 助記符
您可以使用BIP39 npm 包生成助記詞。
var mnemonic = bip39.generateMnemonic();
並使用此助記詞生成 HD 錢包。
如果您想使用 web3,您可以使用
web3.eth.accounts.create([entropy]);
在本地生成帳戶。熵參數是可選的。它返回這樣的東西
{ address: "0xb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01", privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709", signTransaction: function(tx){...}, sign: function(data){...}, encrypt: function(password){...} }
完成此操作後,您可以將 ETH 發送到該地址。您不需要將地址連接到主網路(或任何網路)。您可以在離線時生成有效的真實帳戶。沒有註冊/登錄/連接過程。生成的帳戶將適用於所有乙太坊網路。