Подпишите транзакцию к смарт-контракту от миграций - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу вызвать метод смарт-контракта через sendTransaction из одной из миграций. Я использую трюфель. Во время этой миграции я создаю новый кошелек с мнемони c.

const seed = bip39.mnemonicToSeed(mnemonic)
const hdk = hdkey.fromMasterSeed(seed)
const addrNode = hdk.derivePath("m/44'/60'/0'/0/0")
const walletAddr = wallet.getAddressString()
await someFactory.createProfile.sendTransaction(detailsHash, { from: walletAddr })

Во время транзакции я получаю исключение

Returned error: sender account not recognized

Как отправить транзакцию с недавно созданным из mnemoni c профиль?

1 Ответ

0 голосов
/ 14 февраля 2020

Вы можете установить для своего провайдера свой экземпляр договора, затем

const HDWalletProvider = require("@truffle/hdwallet-provider");
const mnemonic = "Your mnemonic"; //

module.exports = function(deployer) {

  deployer.deploy(SomeFactory).then(someFactory => {
  provider = new HDWalletProvider(mnemonic, "YourURL", 0);

  someFactory.contract.setProvider(provider);

  someFactory.createProfile.sendTransaction(detailsHash, { from:provider.addresses[0] })
  });
}; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...