Contract-Deployment
合約部署“gas 資金不足”Arbitrum
我正在嘗試使用以下程式碼部署契約:
const Contract = await ethers.getContractFactory("Contract", { libraries: { UtilsLibrary: "0xF...e", } }); let pool = await Contract.deploy({gasLimit: 10000000, gasPrice: ethers.utils.parseUnits("1", "gwei")})
當我在 Kovan、Goerly、Arbitrum Goerly 上執行它時,它工作得很好(顯然我更正了庫地址)。當我在 Arbitrum 主網上執行此程序時,我收到一條錯誤消息,提示“沒有足夠的資金用於 gas”。我已經更改了多個 RPC,結果不是運氣。
合約需要大約 5 百萬氣體來部署,我的錢包裡有大約 1 ETH。我真的對這裡可能出了什麼問題沒有更多的想法。任何建議表示讚賞。
UPD:我已經完全部署了 UtilsLibrary 作為腳本的一部分。因此,正在使用正確的簽名者並且它有資金。
我不得不將 gas 限制增加到 1 億,並且部署了 8 千萬。我不知道為什麼類似的交易只在 kovan 和 Arbitrum 測試網上花費了 500 萬
Arbitrum 有一種不同的方式來計算 gas 成本,請參見此處https://developer.offchainlabs.com/docs/Differences_Overview#fee-stats
特別是,
calldata
它比 L1 更昂貴,這解釋了合約部署的額外成本。