blockchain - 从迁移签署交易到智能合约
问题描述
我想通过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
如何使用从助记符配置文件中新创建的交易发送交易?
解决方案
然后您可以将您的提供者设置为您的合同实例
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] })
});
};
推荐阅读
- java - 将复杂的 XML 转换为 Java 对象
- javascript - 如何将输入定位在屏幕底部?
- javascript - 使用 v-show 隐藏元素并在 Vue 中使用 keydown 事件将其渲染回来
- ml.net - ARM64 是否支持 ML.NET?
- javascript - Cordova - ios - 在地图应用程序中打开 - 未打开 - 'maps://?q='
- php - 在 utf 中获取波斯语(波斯语链接)字符
- python - .drop 和非唯一索引的 Python pandas 问题
- symfony - 未创建 KnpSnappyBundle 文件
- bootstrap-vue - Vue Bootstrap 表中的参数未传递给事件
- javascript - javascript中的if语句,哪个更好?