Rinkeby contracts deployment Error: Timeout
Rinkeby contracts deployment Error: Timeout
我试图按照本教程进行操作:
https://docs.opensea.io/docs/1-structuring-your-smart-contract
甚至发现这个非常有用的 YouTube 视频可以指导我:
https://www.youtube.com/watch?v=lbXcvRx0o3Y&ab_channel=DanViau
但是我在安装和设置我需要的一切后遇到了问题。当我尝试使用此 bash 命令部署合约时出现问题:
truffle deploy --network rinkeby
我得到的错误信息是:
Error: There was a timeout while attempting to connect to the network.
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\alonb\.nvm\versions\node\v12.22.5\bin\node_modules\truffle\build\webpack:\packages\provider\index.js:56:1)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
这不是由慢速互联网连接引起的 - 我知道这是因为我已经尝试在 3 个不同的 WiFi 连接上执行此命令,一个是 200 Mb/s 速率。
我尝试更改 truffle-config.js 文件并添加更长的超时阈值(如建议的 here),但唯一改变的是错误消息花费了更长的时间出现。
技术信息 - 我正在使用 Git Bash,npm 版本 6.14.14,nvm 版本 0.38.0,节点版本 12.22.5。
有什么建议吗?我迷路了。
阿隆
解决方案非常简单 -
而不是只使用 Alchemy 密钥的相关部分:
40Oo3XScVabXXXX8sePUEp9tb90gXXXX
我用了整个URL:
https://eth-rinkeby.alchemyapi.io/v2/40Oo3XScVabXXXX8sePUEp9tb90gXXXX
我有同样的经历,但当使用安全帽时 truffle.My 互联网连接正常,尝试从 Git bash 切换到终端(CMD)。使用全新的终端避免Gitbash 和 powershell.
我在遵循相同的教程时也 运行 遇到了这个错误。
我使用 Alchemy(不是 Infura),问题出在我的 API_KEY。
在我遵循的其他教程中,脚本需要完整的炼金术 API 密钥(例如“https://eth-rinkeby.alchemyapi.io/v2/<运行dom-key>").
所以,当我学习本教程时,这就是我提供的。而且,我运行进入了你报告的错误。
但是当我查看教程作者提供的 truffle.js 脚本时,我发现了这个:
const rinkebyNodeUrl = isInfura
? "https://rinkeby.infura.io/v3/" + NODE_API_KEY
: "https://eth-rinkeby.alchemyapi.io/v2/" + NODE_API_KEY;
因此,脚本生成:
rinkebyNodeUrl = https://eth-rinkeby.alchemyapi.io/v2/https://eth-rinkeby.alchemyapi.io/v2/<**random-key**>
...这显然是错误的。
因此,确保我只将 API_KEY 环境变量设置为 运行dom-key 而不是 https://eth-rinkeby.alchemyapi.io/v2/https://eth-rinkeby.alchemyapi.io/v2/<运行dom-key>,我的合约部署成功。
此外,请确保您在 Rinkeby 网络上的钱包中有足够的 ETH。水龙头似乎总是工作一小会儿就停止工作,因此 Google 搜索以找到当前可用的水龙头。
从网络配置中的提供程序中删除函数包装器。
ropsten_infura: {
provider: new HDWalletProvider({
mnemonic: {
phrase: mnemonic
},
providerOrUrl: `https://ropsten.infura.io/v3/${project_id}`,
addressIndex
}),
network_id: 3
}
我试图按照本教程进行操作:
https://docs.opensea.io/docs/1-structuring-your-smart-contract
甚至发现这个非常有用的 YouTube 视频可以指导我:
https://www.youtube.com/watch?v=lbXcvRx0o3Y&ab_channel=DanViau
但是我在安装和设置我需要的一切后遇到了问题。当我尝试使用此 bash 命令部署合约时出现问题:
truffle deploy --network rinkeby
我得到的错误信息是:
Error: There was a timeout while attempting to connect to the network.
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\alonb\.nvm\versions\node\v12.22.5\bin\node_modules\truffle\build\webpack:\packages\provider\index.js:56:1)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
这不是由慢速互联网连接引起的 - 我知道这是因为我已经尝试在 3 个不同的 WiFi 连接上执行此命令,一个是 200 Mb/s 速率。
我尝试更改 truffle-config.js 文件并添加更长的超时阈值(如建议的 here),但唯一改变的是错误消息花费了更长的时间出现。
技术信息 - 我正在使用 Git Bash,npm 版本 6.14.14,nvm 版本 0.38.0,节点版本 12.22.5。
有什么建议吗?我迷路了。
阿隆
解决方案非常简单 -
而不是只使用 Alchemy 密钥的相关部分:
40Oo3XScVabXXXX8sePUEp9tb90gXXXX
我用了整个URL:
https://eth-rinkeby.alchemyapi.io/v2/40Oo3XScVabXXXX8sePUEp9tb90gXXXX
我有同样的经历,但当使用安全帽时 truffle.My 互联网连接正常,尝试从 Git bash 切换到终端(CMD)。使用全新的终端避免Gitbash 和 powershell.
我在遵循相同的教程时也 运行 遇到了这个错误。
我使用 Alchemy(不是 Infura),问题出在我的 API_KEY。
在我遵循的其他教程中,脚本需要完整的炼金术 API 密钥(例如“https://eth-rinkeby.alchemyapi.io/v2/<运行dom-key>").
所以,当我学习本教程时,这就是我提供的。而且,我运行进入了你报告的错误。
但是当我查看教程作者提供的 truffle.js 脚本时,我发现了这个:
const rinkebyNodeUrl = isInfura
? "https://rinkeby.infura.io/v3/" + NODE_API_KEY
: "https://eth-rinkeby.alchemyapi.io/v2/" + NODE_API_KEY;
因此,脚本生成:
rinkebyNodeUrl = https://eth-rinkeby.alchemyapi.io/v2/https://eth-rinkeby.alchemyapi.io/v2/<**random-key**>
...这显然是错误的。
因此,确保我只将 API_KEY 环境变量设置为 运行dom-key 而不是 https://eth-rinkeby.alchemyapi.io/v2/https://eth-rinkeby.alchemyapi.io/v2/<运行dom-key>,我的合约部署成功。
此外,请确保您在 Rinkeby 网络上的钱包中有足够的 ETH。水龙头似乎总是工作一小会儿就停止工作,因此 Google 搜索以找到当前可用的水龙头。
从网络配置中的提供程序中删除函数包装器。
ropsten_infura: {
provider: new HDWalletProvider({
mnemonic: {
phrase: mnemonic
},
providerOrUrl: `https://ropsten.infura.io/v3/${project_id}`,
addressIndex
}),
network_id: 3
}