TypeError: Cannot read property '_alreadyWrapped' of undefined
TypeError: Cannot read property '_alreadyWrapped' of undefined
我创建了一个集成了truffle和react框架的项目,然后在truffle-config.js.But中配置了以太坊的rinkeby测试网络,当我将合约迁移到rinkeby网络时,出现了问题
truffle compile
truffle migrate --network rinkeby
然后出现了一些错误
TypeError: Cannot read property '_alreadyWrapped' of undefined
at Object.wrap (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\wrapper.js:13:1)
at Object.wrap (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\index.js:9:1)
at Object.create (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\index.js:14:1)
at TruffleConfig.get [as provider] (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\config\dist\configDefa
ults.js:189:1)
at Object.detect (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\environment\environment.js:19:1)
at C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\core\lib\commands\migrate.js:192:1
Truffle v5.1.1 (core: 5.1.1)
Node v12.13.0
Project目录如下:
松露-config.js
const path = require("path");
const HDWalletProvider = require('@truffle/hdwallet-provider');
const fs = require('fs')
let secrets;
console.log(path.join(__dirname, "secrets.json"));
if (fs.existsSync(path.join(__dirname, "secrets.json"))){
secrets = JSON.parse(fs.readFileSync(path.join(__dirname, "secrets.json"),'utf8'));
}else{
console.log("secrets.json doesn't exist!")
}
module.exports = {
contracts_build_directory: path.join(__dirname, "client/src/contracts"),
networks: {
ganache:{
host:"127.0.0.1",
port:7545,
network_id:"*"
},
develop: {
port: 8545
},
rinkeby:{
provider:()=>{
new HDWalletProvider(secrets.mnemonic,"https://rinkeby.infura.io/v3/"+secrets.infuraProjectId);
},
network_id: '4'
}
}
};
这个问题困扰我很久了,谁能帮帮我!非常感谢!
您忘记了 return 语句:
rinkeby: {
provider: () => {
return new HDWalletProvider(secrets.mnemonic,"https://rinkeby.infura.io/v3/"+secrets.infuraProjectId);
},
network_id: 4
}
我创建了一个集成了truffle和react框架的项目,然后在truffle-config.js.But中配置了以太坊的rinkeby测试网络,当我将合约迁移到rinkeby网络时,出现了问题
truffle compile
truffle migrate --network rinkeby
然后出现了一些错误
TypeError: Cannot read property '_alreadyWrapped' of undefined
at Object.wrap (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\wrapper.js:13:1)
at Object.wrap (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\index.js:9:1)
at Object.create (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\index.js:14:1)
at TruffleConfig.get [as provider] (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\config\dist\configDefa
ults.js:189:1)
at Object.detect (C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\environment\environment.js:19:1)
at C:\Users\Lsy\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\core\lib\commands\migrate.js:192:1
Truffle v5.1.1 (core: 5.1.1)
Node v12.13.0
Project目录如下:
松露-config.js
const path = require("path");
const HDWalletProvider = require('@truffle/hdwallet-provider');
const fs = require('fs')
let secrets;
console.log(path.join(__dirname, "secrets.json"));
if (fs.existsSync(path.join(__dirname, "secrets.json"))){
secrets = JSON.parse(fs.readFileSync(path.join(__dirname, "secrets.json"),'utf8'));
}else{
console.log("secrets.json doesn't exist!")
}
module.exports = {
contracts_build_directory: path.join(__dirname, "client/src/contracts"),
networks: {
ganache:{
host:"127.0.0.1",
port:7545,
network_id:"*"
},
develop: {
port: 8545
},
rinkeby:{
provider:()=>{
new HDWalletProvider(secrets.mnemonic,"https://rinkeby.infura.io/v3/"+secrets.infuraProjectId);
},
network_id: '4'
}
}
};
这个问题困扰我很久了,谁能帮帮我!非常感谢!
您忘记了 return 语句:
rinkeby: {
provider: () => {
return new HDWalletProvider(secrets.mnemonic,"https://rinkeby.infura.io/v3/"+secrets.infuraProjectId);
},
network_id: 4
}