Truffle
通過@truffle/hdwallet-provider 將合約部署到 infura 掛起
我創建了一個合約並成功部署到 Ganache 測試網路,但它沒有部署到 infura。
//this section is clean. worked for Ganache var output = JSON.parse(solc.compile(JSON.stringify(input))); const interface = output.contracts["test.sol"]["Inbox"].abi; const bytecode = output.contracts["test.sol"]["Inbox"].evm.bytecode.object
對於infura,
const HDWalletProvider = require("@truffle/hdwallet-provider"); const Web3 = require("web3"); const compile = require("./compile"); const provider = new HDWalletProvider( "chef punch git then seek hobby abstract sad split fog quick able", "https://rinkeby.infura.io/v3/87773d0063ddee33821710c0e926c554" ); const web3 = new Web3(provider); const deploy = async () => { const accounts = await web3.eth.getAccounts(); console.log("attemtign", accounts);// shows the array of accounts const myContract = await new web3.eth.Contract(interface) .deploy({ data: "0x" + bytecode, arguments: ["hi there"] }) .send({ gas: "1000000", from: accounts[0], gasPrice: "10000" // even i discarded here did not work }); console.log(myContract.options.address); provider.engine.stop(); }; deploy();
我的帳戶中有 3 個 eth,終端顯示這個
console.log("attemtign", accounts)
然後掛起。
汽油價格太低了。截至 2020 年 4 月 1 日,來自 rinkeby.etherscan.com 的天然氣價格約為 1 gwei = “1000000000” wei。
為了有更快的確認時間,請調整為更高的值。
交易按其 nonce 的升序處理。低費用的待處理交易將阻止具有正確費用的新交易被探勘。
訪問https://web3js.readthedocs.io/en/v2.0.0-alpha/web3-eth-contract.html?highlight=deploy#id9 。您可以嘗試列印錯誤、交易雜湊或收據。它可能會幫助您找出實際問題,因為它在 *console.log(“attemtign”, accounts)*之後卡住了。