我正在使用松露:"^4.1.14“和ganache-cli版本"^6.1.8”。当我尝试迁移到ganache cli网络时,它没有问题。但是当我试图迁移到Rinkeby时,它总是失败的。错误消息是TypeError: Cannot read property 'bind' of undefined。这条有问题的线埋在webpack的某个地方,我无法找到那个脚本来检查它或console.log它。
truffle.js的相关部分如下所示
rinkeby_infura: {
provider: function() {
// using process.env.MNENOMIC would be safer, but this is test project
const mnemonic = require('./.mnemonic');
const apiKey = require('./.infura_api_key');
return new HdWalletProvider(mnemonic, 'https://rinkeby.infura.io/' + apiKey);
},
network_id: 4,
gas: 4612388 // Gas limit used for deploys
},异常的完整堆栈跟踪如下。这可能与连接到Rinkeby的提供商有关,至少从我搜索到的情况来看是这样的。但我无法让它发挥作用。
$ ./node_modules/.bin/truffle migrate --network rinkeby_infura
C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-provider\wrapper.js:26
var originalSendAsync = provider.sendAsync.bind(provider);
^
TypeError: Cannot read property 'bind' of undefined
at Object.wrap (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-provider\wrapper.js:26:1)
at Object.wrap (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-provider\index.js:7:1)
at Object.create (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-provider\index.js:21:1)
at Config.get [as provider] (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-config\index.js:165:1)
at Object.detect (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-core\lib\environment.js:46:1)
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-core\lib\commands\migrate.js:91:1
at finished (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-workflow-compile\index.js:53:1)
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-compile\index.js:314:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-compile\profiler.js:158:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:3888:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:473:1
at replenish (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:1006:1)
at iterateeCallback (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:995:1)
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:969:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:3885:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-compile\profiler.js:154:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:1140:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:473:1
at iteratorCallback (C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:1064:1)
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:969:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\~\async\dist\async.js:1137:1
at C:\src\personal\ens-registrar\node_modules\truffle\build\webpack:\packages\truffle-compile\profiler.js:133:1
at FSReqWrap.oncomplete (fs.js:155:5)发布于 2018-11-14 12:00:20
在我看来,在打开助记符/英弗拉API密钥文件时遇到了问题。如果直接使用助记符和API键而不是变量,它是否有效?
此外,我建议您使用dotenv和process.env (即使使用测试项目),这样可以更容易地处理将来的更新!
https://ethereum.stackexchange.com/questions/62323
复制相似问题