Gas Provider

Configuration of gasPrice and gasLimit for Ethereum and Polygon transactions

The execution of blockchain transactions requires configuration of the gas provider, using WaltIdGasProvider class. This allows you to set the gas price and limit for Ethereum and Polygon transactions, optimizing based on current market conditions and transaction complexity.

What is WaltIdGasProvider?

WaltIdGasProvider allows you to set a static gasPrice and gasLimit for Ethereum and Polygon transactions. These parameters are expressed in Wei (the smallest unit of Ether).

  • gasPrice refers to the fee you pay for computation performed as part of the transaction.

  • gasLimit is the maximum total fee that you are willing to pay for a transaction.

How to Adjust WaltIdGasProvider?

It's essential to remember that Ethereum and Polygon gas prices are not static and can fluctuate based on network demand.

To update, open the WaltIdGasProvider.kt file under src/main/kotlin/id/walt/nftkit/utilis and update the parameters gasPrice (1) and gasLimit (2) accordingly.

StaticGasProvider(BigInteger.valueOf(19_000_000_000L), BigInteger.valueOf(2_498_868))

To check the current gas prices, refer to the following resources:

Example: Calculating gasPrice and gasLimit

Let's say you find that the current average gas price is 20 Gwei and you're making a contract deployment transaction, where it makes sense to have the gasLimit at around 2_498_868. Here's how you would calculate the Wei values:

  1. Convert Gwei to Wei for gasPrice. Since 1 Gwei is 1,000,000,000 Wei, 20 Gwei is 20,000,000,000 Wei.

  2. The gasLimit remains constant, so you don't need to convert it. It will be 2,498,868.

So, to update the WaltIdGasProvider.kt with these values, you would write:

StaticGasProvider(BigInteger.valueOf(20_000_000_000L), BigInteger.valueOf(2_498_868))

Why is it Important?

Setting appropriate gas prices and limits is essential for two reasons:

  • Transaction Speed: If you set your gas price too low, your transaction could be ignored by miners, resulting in slow or failed transactions.

  • Cost Optimization: If your gas price is set too high, you might end up paying more than necessary for your transactions.

Remember, the gasLimit is the maximum gas you're willing to use for a transaction. If a transaction exceeds this limit, it will fail, but you will still be charged. As such, setting an appropriate gasLimit can help avoid unnecessary expenses.

Last updated