провайдер hdwallet создает кошелек для пользователя - PullRequest
0 голосов
/ 21 марта 2019

Я создал умный контракт, который облегчает продажу токенов. Я хочу, чтобы пользователь мог нажимать кнопку, которая автоматически генерирует кошелек ERC20, на который можно отправлять токены.

Я использую трюфельный провайдер HDWallet и Infura. Я не хочу, чтобы пользователь использовал MetaMask или что-то еще. Я подпишу транзакции на бэкэнде, используя закрытый ключ сгенерированного кошелька пользователя.

Как бы я реализовал это, чтобы новый кошелек создавался для каждого нового пользователя, который хочет выполнить транзакцию?

1 Ответ

0 голосов
/ 22 марта 2019

Это код, который позволил мне создать кошелек нажатием кнопки. Теперь мне нужно найти способ хранения учетных данных этих кошельков, чтобы я мог подписывать транзакции и передавать им токены.

  var bip39 = require('bip39');
  const EthereumUtil = require('ethereumjs-util');
  const hdkey = require('hdkey');

  const mnemonic = bip39.generateMnemonic(); //generates string
  const seed = bip39.mnemonicToSeed(mnemonic); //creates seed buffer

  const root = hdkey.fromMasterSeed(seed);
  const masterPrivateKey = root.privateKey.toString('hex');

  const addrNode = root.derive("m/44'/60'/0'/0/0");
  const pubKey = EthereumUtil.privateToPublic(addrNode._privateKey);
  const addr = EthereumUtil.publicToAddress(pubKey).toString('hex');
  const address = EthereumUtil.toChecksumAddress(addr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...