6

为什么使用 Truffle 部署到主网如此困难?

这是尝试部署到主网的简要说明...

  1. 当前的 Gasprice 为 110 Wei。所以110000000000 wei

让我们插上它..

mainnet: {
      provider: () =>
        new HDWalletProvider({
          mnemonic: { phrase: process.env.MNEMONIC },
          providerOrUrl: process.env.RPC_URL_1_WSS,
        }),
      network_id: 1, 
      from: process.env.DEPLOYERS_ADDRESS,
      gasPrice: 110000000000, /*  GAS PRICE!! */
      confirmations: 2,
      timeoutBlocks: 200,
      skipDryRun: false, public nets )
    },
  },
  1. 让我们来估算一下部署的 gas 成本。这将在 的gas参数中设置truffle-config

NODE_ENV=production truffle migrate --network mainnet --dry-run

Summary
=======
> Total deployments:   2
> Final cost:          0.001403824 ETH

0.001403824 ETH 是 2.04 美元。
所以这可能是错误的。

‼️失败‼️


  1. 第二次尝试。好的,试运行对于获得气体估计没有用。我将gas留空并尝试使用gasPrice.

结果…… Message: insufficient funds for gas * price + value ‼️失败‼️

  1. 好的,我dry-run没有对部署合同的成本给出有用的估计,我只是根据其他合同进行猜测。在这里添加gas参数。
mainnet: {
      provider: () =>
        new HDWalletProvider({
          mnemonic: { phrase: process.env.MNEMONIC },
          providerOrUrl: process.env.RPC_URL_1_WSS,
        }),
      network_id: 1, 
      from: process.env.DEPLOYERS_ADDRESS,
      gasPrice: 110000000000, /*  GAS PRICE!! */
      gas: 140000000000000000, / That's about $200 in Wei/
      confirmations: 2,
      timeoutBlocks: 200,
      skipDryRun: false, public nets )
    },
  },

RuntimeError: abort(Error: Assertion failed). Build with -s ASSERTIONS=1 for more info..

‼️又失败了‼️


  1. 第三次尝试。好的,要尝试离开gas并保持gasPrice空白..

Block timesout in 750 seconds.

‼️失败‼️


尝试混音。。

  1. 将提供程序设置为 Injected Web3
  2. 将网络设置为主网
  3. 部署
  4. 成本 135 美元

这很棒,但现在我没有使用 Truffle 的迁移,而且将 Remix ABI 与 Truffle 一起使用并不容易。

我真的很喜欢 Truffle 来工作。

为什么 Truffle 在部署到主网时很难使用?无法部署到主网。

4

0 回答 0