Customizing Minitia
Overview
For those working within the Initia ecosystem and considering modifications to core components like cometbft
and cosmos-sdk
, we strongly recommend minimizing custom logic to ensure system stability and maintainability. If customization is unavoidable, it's critical to fork the specific versions of initia-labs/cometbft
and initia-labs/cosmos-sdk
to reduce integration efforts and potential conflicts.
Customization Guidelines for Minitia
Minitia supports the integration of custom Cosmos modules, but it's advisable to refrain from modifying or adding modules that are directly related to staking, such as the staking, distribution, and gov modules. Instead, these functionalities are replaced by the opchild
module to streamline operations.
For maintaining uniformity in the IBC setup, we recommend forking repositories like minimove/miniwasm/minievm
and implementing changes there instead of directly integrating the opchild
module into your app chain.
Adding Whitelisted Cosmos Queries
MOVE
When customizing queries within the MOVE module, avoid including queries related to bank balances since they're already integrated within the move fungible asset. Due to the isolated state during execution, the results may differ from the actual Cosmos state.
WASM
For the WASM module, you can specify which queries to allow through the system:
EVM
Enabling Custom Queries from the Contract
In the EVM module, it's important to avoid adding queries related to bank balances, similar to the MOVE and WASM configurations:
Disabling Custom ERC-20 Deployment
You can disable custom ERC-20 support in genesis.
Or, you can modify this via MsgUpdateParams
.
Conclusion
While customizing core components of the Initia infrastructure, it's crucial to adhere to best practices for maintaining system integrity and functionality. Careful consideration of these guidelines ensures that any necessary modifications align with the overall stability and operational efficiency of the ecosystem.
Last updated