当我试图使用Rinkeby将智能契约部署到Truffle时,会出现以下错误:
Error: Unknown arguments format passed to new HDWalletProvider. Please check your
configuration and try again注意:在本地使用Truffle部署相同的合同时,我没有遇到任何问题,只部署到Rinkeby。
这是我的密码:
require('dotenv').config();
const HDWalletProvider = require('@truffle/hdwallet-provider');
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*",
},
rinkeby: {
provider: () => new HDWalletProvider(process.env.RINKEBY_MNENOMIC,
"https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}"),
host: "127.0.0.1",
network_id: 4,
gas: 4612388,
gasPrice: 10000000000
},
},
// Configure your compilers
compilers: {
solc: {
version: "0.6.2",
}
}
}我想知道这是否是某种版本问题,因为我看到我以前的合同使用了'truffle-hdwallet-provider',而这个合同使用的是'@truffle/hdwallet-provider'
同时,我的.env文件包含以下内容:
#MNENOMIC="word1 word2 word3, ...word12"
RINKEBY_MNENOMIC="word1 word2 word3, ...word12"
PRODUCTION_MNENOMIC="word1 word2 word3, ...word12"
INFURA_API_KEY="xxxxxxxxxxxxxxxxxxxx"那么这里可能发生了什么?这个Unknown arguments format passed to new HDWalletProvider错误是关于什么的?
发布于 2020-10-20 02:41:27
好像是版本的事。
根据特弗莱的官方readme (这里有:https://github.com/trufflesuite/truffle/tree/develop/packages/hdwallet-provider#truffle-usage),现在这样做的方法如下:
rinkeby: {
provider: () =>
new HDWalletProvider({
mnemonic: {
phrase: rinkebyMnemonic
},
providerOrUrl: "https://rinkeby.infura.io/v3/" + infuraKey,
numberOfAddresses: 1,
shareNonce: true,
}),
network_id: '4',
}发布于 2022-01-28 16:47:44
您还可以尝试安装带有以下注释的钱包处理程序:
#~>npm install truffle-hdwallet-provider然后,在您的松露中- Then有以下内容:
var mnemonicPhrase = "word1 word2 word3 ....word12";
var HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
},
rinkeby: {
// must be a thunk, otherwise truffle commands may hang in CI
provider: () =>
new HDWalletProvider(mnemonicPhrase, "https://rinkeyb.infura.io/v3/YOUR-INFURA-PROJECT-KEY"),
network_id: '4',
}
},
compilers: {
solc: {
version: '0.8.9',
optimizer: {
enabled: true,
runs: 200
}
}
},
};然后尝试使用松露运行:松露迁移--网络rinkeby
你也可以用炼金术"https://rinkeyb.infura.io/v3/YOUR-INFURA-PROJECT-KEY“代替"https://eth-rinkeby.alchemyapi.io/v2/YOUR-ALCHEMY-JEY”
https://ethereum.stackexchange.com/questions/89497
复制相似问题