Возможно ли разработать собственный кошелек Эфириума без метамаски, который должен подключаться к основной сети Эфириума. Как и в blockchain.info, пользователь нажимает на учетную запись, просто указав адрес электронной почты и пароль, учетная запись будет создана в бэкэнде, а адрес кошелька будет отправлен на адрес электронной почты. Чтобы получить доступ к своим учетным записям из метамаски, я пишу этот код.
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 мнемоники, но
как мне вызвать оплачиваемую функцию, которая написана в солидности без метамаски? Я создал здесь новый вопрос Как совершать транзакции без метамаски
Теперь мой вопрос: как я могу динамически получить новые 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 на этот адрес. Вам не нужно подключать адрес к основной сети (или любой другой сети). Вы можете создавать действительные, реальные учетные записи в автономном режиме. Там нет процесса регистрации/входа/подключения. Сгенерированная учетная запись будет работать во всех сетях Ethereum.
entropy
основной сети
херва