To integrate your chain with x/feemarket
, the following steps should be performed:
- The
FeeMarketKeeper
must be added to your application as seen here. - A
DenomResolver
(if desired) must be set in your application as seen here. Ante
andPost
handlers must be configured and set with the applicationFeeMarketKeeper
as seen here.
We provide sensible default parameters for running either the EIP-1559 or AIMD EIP-1559 feemarkets.
Note
The default parameters use the default Cosmos SDK bond denomination. The should be modified to your chain's fee denomination.
With the addition of x/feemarket
, there are some important changes that end-users must be aware of.
- A non-zero fee is always required for all transactions.
- Pre-
x/feemarket
validators were able to set theirMinGasPrice
field locally, meaning it was possibly for some to have no required fees. This is no longer true as there is always a non-zero global fee for transactions.
- Pre-
- Fees are no longer static.
- The
gas price
will change with market activity, so to ensure that transactions will be included, wallets, relayers, etc. will need to queryx/feemarket
for the current fee state. See the Querying Gas Price section below.
- The
- Fees must always be a single coin denomination.
- Example
--fees skip
is valid while--fees 10stake,10skip
is invalid
- Example
Note
Fees are still paid using the
fees
field of a Cosmos SDK Transaction as they were before.
Information on how to query and use dynamic gas prices can be found here.