Ropsten

如何估算智能合約部署和交易價格?

  • March 21, 2019

我可以在 Ropsten 網路上部署相同的智能合約並在其上呼叫四筆交易。

我如何估算在主網網路上完全相同的操作的價格?

您無需發送任何實際交易即可實現此目的。

//create a web3 instance
const web3 = new Web3(Web3.givenProvider || "ws://localhost:8546");

//create contract instance, leave address empty if creating new contract
myContract = new web3.eth.Contract(jsonInterface, address, options)

//check gas needed to deploy contract
myContract.deploy({
   data: 'BYTECODE',
   arguments: [123, 'My String']
})
.estimateGas((err, gas) => {
   console.log(gas);
});

//check gas needed to execute method calls of contract
myContract.methods.myMethod(123).estimateGas(function(error, gasAmount){
   ...
});

//to get current gas price of the network
web3.eth.getGasPrice([callback])

在此之後,您可以gasprice將網路的 與 的estimated gas相乘contract deployment以獲取actual price要部署的契約,並且您可以對要發送的每筆交易執行此操作

當您在 Ropsten 中發出交易時,您會看到他們的 gas 使用情況。之後,您需要為您在主網中的交易確定正確的gas 價格。在決定合適的汽油價格時,您可以使案例如https://ethgasstation.info/ 。

一旦確定了 gas 價格,您就可以使用相同的計算器來計算交易的實際成本。

引用自:https://ethereum.stackexchange.com/questions/68618