首页 > 解决方案 > 从迁移签署交易到智能合约

问题描述

我想通过sendTransaction其中一个迁移调用智能合约方法。我正在使用松露。在此迁移期间,我创建了一个带有助记符的新钱包。

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

如何使用从助记符配置文件中新创建的交易发送交易?

标签: blockchainethereumweb3jstrufflego-ethereum

解决方案


然后您可以将您的提供者设置为您的合同实例

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] })
  });
}; 

推荐阅读