Contract-Development

如何創建自己的乙太坊錢包

  • March 30, 2018

是否有可能開發一個沒有元遮罩的自己的乙太坊錢包,它應該連接到主乙太坊網路。就像在 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 發送到該地址。您不需要將地址連接到主網路(或任何網路)。您可以在離線時生成有效的真實帳戶。沒有註冊/登錄/連接過程。生成的帳戶將適用於所有乙太坊網路。

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