0

我试图按照本教程进行操作:

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 文件并添加更长的超时阈值(如建议的此处),但唯一改变的是错误消息需要更长的时间才能出现。

技术信息 - 我正在使用 Git Bash,npm 版本 6.14.14,nvm 版本 0.38.0,节点版本 12.22.5。

有什么建议么?我迷路了。

阿隆

4

3 回答 3

1

在遵循相同的教程时,我也遇到了这个错误。

我使用 Alchemy(不是 Infura),问题是我的 API_KEY。

在我遵循的其他教程中,脚本需要完整的炼金术 API 密钥(例如“https://eth-rinkeby.alchemyapi.io/v2/< random-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 环境变量设置为random-key而不是https://eth-rinkeby.alchemyapi.io/v2/https://eth-rinkeby.alchemyapi.io/v2/ < random-key >,我的合同部署成功。

此外,请确保您在 Rinkeby 网络上的钱包中有足够的 ETH。水龙头似乎总是工作一段时间然后停止工作,所以做一些谷歌搜索来找到一个目前可以正常工作的水龙头。

于 2021-12-26T17:26:52.990 回答
0

解决方案非常简单 -

而不是只使用 Alchemy 密钥的相关部分:

40Oo3XScVabXXXX8sePUEp9tb90gXXXX

我使用了整个网址:

https://eth-rinkeby.alchemyapi.io/v2/40Oo3XScVabXXXX8sePUEp9tb90gXXXX

于 2021-08-27T12:42:06.163 回答
0

我有同样的经历,但是当使用安全帽而不是松露时。我的互联网连接正常,尝试从 Git bash 切换到终端(CMD)。使用全新的终端避免 Gitbash 和 powershell。

于 2021-09-24T19:51:24.010 回答