我尝试通过Polygon Amoy和Sepolia部署合约,两者都产生相同的错误。我已经推出了 Ganache,其
MNEMONIC
与 MetaMask 钱包以及 .secret
文件中使用的钱包相同。
MetaMask 中使用的网络也与
truffle-config.js
中使用的网络相同
Compiling your contracts...
===========================
⠇ Fetching solc version list from solc-bin. Attempt #1
/home/ahmed/PycharmProjects/payment-dapp/node_modules/eth-block-tracker/src/polling.js:51
const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\n${err.stack}`)
^
Error: PollingBlockTracker - encountered an error while attempting to update latest block:
undefined
at PollingBlockTracker._performSync (/home/ahmed/PycharmProjects/payment-dapp/node_modules/eth-block-tracker/src/polling.js:51:24)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
truffle-config.js
const HDWalletProvider = require("@truffle/hdwallet-provider");
const fs = require("fs");
const mnemonic = fs.readFileSync(".secret").toString().trim();
require('dotenv').config()
module.exports = {
networks: {
development: {
host: "localhost",
port: 7545,
network_id: "*",
},
sepolia: {
provider: () =>
new HDWalletProvider(
mnemonic,
`https://sepolia.infura.io/v3/`
),
network_id: 11155111,
confirmations: 2,
gas: 5500000,
gasPrice: 45000000,
networkCheckTimeout: 10000000,
timeoutBlocks: 200,
skipDryRun: true,
chainId: 11155111,
},
},
contracts_directory: "./contracts",
contracts_build_directory: "./abis",
compilers: {
solc: {
version: "^0.8.19",
optimizer: {
enabled: true,
runs: 200,
},
},
},
db: {
enabled: false,
},
};
PollingBlockTracker
错误。我认为错误很可能就在这里https://sepolia.infura.io/v3/
。 从 infura 网络端点您应该添加 API 密钥
https://sepolia.infura.io/v3/<API-KEY>
此外,您可能需要将
host
更改为此
host: "127.0.0.1",
而不是“本地主机”