我正在尝试将合同转移到ROPSTEN网络。它失败的原因如下。请指点。
migrate命令
$env:MNEMONIC=' XX XX XX';truffle migrate --reset --network ropsten 错误
Error: There was a timeout while attempting to connect to the network at undefined.
Check to see that your provider is valid.
If you have a slow internet connection, try configuring a longer timeout in your Truffle config. Use the networks[networkName].networkCheckTimeout property to do this.
at Timeout._onTimeout (C:\Users\skmsu\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\provider\index.js:57:1)
at listOnTimeout (internal/timers.js:557:17)
at processTimers (internal/timers.js:500:7) 块菌-config.js
require('dotenv').config();
const HDWalletProvider = require('truffle-hdwallet-provider');
console.log('ab - from powershell file process.env.MNEMONIC : '+
process.env.MNEMONIC);
const infuraProvider = network => providerWithMnemonic(
process.env.MNEMONIC || '',
`https://${network}.infura.io/${process.env.INFURA_API_KEY}`
);
const providerWithMnemonic = (mnemonic, rpcEndpoint) =>
new HDWalletProvider(mnemonic, rpcEndpoint);
module.exports = {
// See
// to customize your Truffle configuration!
networks: {
development: {
host: 'localhost',
port: 8545,
network_id: '*', // eslint-disable-line camelcase
} ,
mainnet: {
provider: infuraProvider('mainnet'),
gasPrice: 10000000000, // 10 Gwei
gas: 4000000,
network_id: '1'
},
ropsten: {
provider: infuraProvider('ropsten'),
gasPrice: 1000000000, // 1 Gwei
gas: 4000000,
network_id: '3'
}
},
solc: {
optimizer: {
enabled: true,
runs: 200
}
}
};发布于 2021-09-15 06:28:23
尝试使用@truffle/hdwallet-provider。truffle-hdwallet-provider不赞成。
此外,验证您的Ropsten Project端点。i.e: https://ropsten.infura.io/v3/j4hg5g45jhfj8hgfhfghgtg
让我知道,如果这对你有用,如果没有,那么会找到一些其他方式。
发布于 2021-09-14 03:25:22
$ npm install @truffle/hdwallet-provider或见https://github.com/trufflesuite/truffle/blob/develop/packages/hdwallet-provider/README.md#install
.infura,将助记符放在.secret中。两者都与truffle-config.js处于同一级别。truffle-config.js更改为以下内容const HDWalletProvider = require('@truffle/hdwallet-provider');
const fs = require('fs');
const infuraKey = fs.readFileSync(".infura").toString().trim();
const mnemonic = fs.readFileSync(".secret").toString().trim();
module.exports = {
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 8545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
ropsten: {
provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/` + infuraKey),
network_id: 3, // Ropsten's id
gas: 5500000, // Ropsten has a lower block limit than mainnet
confirmations: 2, // # of confs to wait between deployments. (default: 0)
timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50)
skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
},
},
// Set default mocha options here, use special reporters etc.
mocha: {
// timeout: 100000
},
// Configure your compilers
compilers: {
solc: {
// version: "0.8.0", // Fetch exact version from solc-bin (default: truffle's version)
settings: { // See the solidity docs for advice about optimization and evmVersion
optimizer: {
enabled: false,
runs: 200
},
}
}
},
db: {
enabled: false
}
};$ truffle migrate --network ropsten.infura和.secret提交给GitHub或任何回购。https://ethereum.stackexchange.com/questions/109738
复制相似问题