1. 首页
  2. 技术

部署合约时遇到 invalid sender 错误时怎么办?

最近在使用 truffle[1] 往 heco 上部署合约时,突然就碰到了一个之前没碰到过的错误:
部署合约时遇到 invalid sender 错误时怎么办?
多方查证,原来是最新版的 HDWalletProvider (版本 1.3.1) 需要指定 chainId
于是乎将将原来的写法:
provider: () => new HDWalletProvider(mnemonic, `wss://ws-testnet.hecochain.com`)
改为了下面这种形式:
provider: () => new HDWalletProvider({ privateKeys: [mnemonic], providerOrUrl: `wss://ws-testnet.hecochain.com`, chainId: 256 }),
但还是报错 “Error: Chain with ID 256 not supported“, 原来这个版本只支持以太坊主网和测试网的 chainId,官方已经在这里[2]记下了这个问题并在着手修复。
直接将 HDWalletProvider 版本调整到 1.2.6, 问题得以解决。

该内容来自于互联网公开内容,非区块链原创内容,如若转载,请注明出处:https://htzkw.com/archives/34133

联系我们

aliyinhang@gmail.com