为什么使用 Truffle 部署到主网如此困难?
这是尝试部署到主网的简要说明...
- 当前的 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 )
},
},
- 让我们来估算一下部署的 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 美元。
所以这可能是错误的。
‼️失败‼️
- 第二次尝试。好的,试运行对于获得气体估计没有用。我将
gas
留空并尝试使用gasPrice
.
结果……
Message: insufficient funds for gas * price + value
‼️失败‼️
- 好的,我
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.
.
‼️又失败了‼️
- 第三次尝试。好的,要尝试离开
gas
并保持gasPrice
空白..
Block timesout in 750 seconds
.
‼️失败‼️
尝试混音。。
- 将提供程序设置为 Injected Web3
- 将网络设置为主网
- 部署
- 成本 135 美元
这很棒,但现在我没有使用 Truffle 的迁移,而且将 Remix ABI 与 Truffle 一起使用并不容易。
我真的很喜欢 Truffle 来工作。
为什么 Truffle 在部署到主网时很难使用?无法部署到主网。