Node RequirementsTo use the To use an external RPC, update the
query
and tx
commands, your evmd
node must either:- Be fully synced with the network you’re interacting with, OR
- Be configured to use an external RPC endpoint in
~/.evmd/config/client.toml
node
field to point to a public or private RPC endpoint.Global Flags
These flags are available for all commands:Flag | Description | Default |
---|---|---|
-b, --broadcast-mode | Transaction broadcasting mode (sync|async) | sync |
--chain-id | Specify Chain ID for sending Tx | |
--fees | Fees to pay along with transaction (e.g., 10atest) | |
--from | Name or address of private key with which to sign | |
--gas-adjustment | Adjustment factor to multiply against the estimate returned by tx simulation | 1 |
--gas-prices | Gas prices to determine the transaction fee (e.g., 10atest) | |
--home | Directory for config and data | ~/.evmd |
--keyring-backend | Select keyring’s backend | os |
--log_format | The logging format (json|plain) | plain |
--log_level | The logging level | info |
--log_no_color | Disable colored logs | |
--node | <host>:<port> to CometBFT RPC interface | tcp://localhost:26657 |
--trace | Print out full stack trace on errors |
Core Commands
Node Operations
start
Run the full node.
--json-rpc.enable
: Enable the JSON-RPC server--json-rpc.address
: JSON-RPC server address (default:127.0.0.1:8545
)--json-rpc.ws-address
: JSON-RPC WebSocket server address (default:127.0.0.1:8546
)--json-rpc.api
: API namespaces to enable (default:eth,net,web3
)--json-rpc.enable-indexer
: Enable the custom tx indexer for json-rpc--json-rpc.enable-profiling
: Enable profiling in the debug namespace--json-rpc.filter-cap
: Sets the global cap for total number of filters (default:200
)--json-rpc.gas-cap
: Sets a cap on gas that can be used in eth_call/estimateGas (default:25000000
)--json-rpc.txfee-cap
: Sets a cap on transaction fee that can be sent via RPC APIs (default:1
)--json-rpc.batch-request-limit
: Maximum number of requests in a batch (default:1000
)--json-rpc.evm-timeout
: Sets a timeout used for eth_call (default:5s
)--json-rpc.logs-cap
: Sets the max number of results from eth_getLogs query (default:10000
)--json-rpc.block-range-cap
: Sets the max block range allowed for eth_getLogs query (default:10000
)
You should only expose the debug endpoint in non production settings as it could impact network performance and uptime under certain conditions.
Additional Information
For more detailed information about specific commands, simply use the--help
or -h
flag:
Initializing the client / Running a node
Creates validator consensus key, p2p address book file, genesis (replace with the relevant one for your chain), and CometBFT + application configuration files.Initialize node
Start node with JSON-RPC enabled
Get node status
You must be either running the client as part of a netork (or alone, for testing) or have an external RPC configured inclient.toml
first.
The same information can be seen by calling the
/status
method on any accessible Comet RPCindex-eth-tx
Index historical Ethereum transactions.
backward
: Index from first indexed block to earliest blockforward
: Index from latest indexed block to latest block
Key Management
Thekeys
command provides keyring management functionality for accounts.
keys add
Add a new key or recover from mnemonic.
--recover
: Recover key from mnemonic--algo
: Key algorithm (eth_secp256k1)--coin-type
: Coin type (60 for Ethereum)
keys list
List all keys in the keyring.
keys list-key-types
List all supported key types.
keys show
Display key information.
keys export
Export a private key.
keys import
Import a private key.
EVM-specific Key Commands
keys unsafe-export-eth-key
Export an Ethereum private key (UNSAFE).
keys unsafe-import-eth-key
Import Ethereum private keys into the local keybase (UNSAFE).
Query Commands
Thequery
(or q
) command provides read-only access to blockchain data.
EVM Module Queries
query evm account
Get account information for an address.
query evm balance-bank
Get bank balance for a 0x address.
query evm balance-erc20
Get ERC20 token balance.
query evm code
Get smart contract code.
query evm storage
Get storage value at a specific key.
query evm config
Get EVM configuration values.
query evm params
Get EVM module parameters.
Address Conversion
Convert between Ethereum (0x) and Cosmos (bech32) addresses:ERC20 Module Queries
query erc20 token-pairs
Get all registered token pairs.
query erc20 token-pair
Get a specific token pair.
query erc20 params
Get ERC20 module parameters.
Feemarket Module Queries
query feemarket base-fee
Get the base fee at a given height.
query feemarket block-gas
Get the block gas used at a given height.
query feemarket params
Get fee market parameters.
Precisebank Module Queries
query precisebank remainder
Get the remainder amount in the precise bank module.
query precisebank fractional-balance
Get the fractional balance of an account.
Standard Cosmos Queries
Bank Module
Staking Module
Distribution Module
Governance Module
Transaction Commands
Thetx
command is used to create and broadcast transactions.
EVM Transactions
tx evm send
Send funds between accounts.
tx evm raw
Build a Cosmos transaction from a raw Ethereum transaction.
ERC20 Transactions
tx erc20 convert-coin
Convert native Cosmos coins to ERC20 tokens.
tx erc20 convert-erc20
Convert ERC20 tokens to native Cosmos coins.
tx erc20 register-erc20
Register native ERC20 tokens (governance only).
tx erc20 toggle-conversion
Enable or disable token pair conversion (governance only).
Standard Cosmos Transactions
Bank Transactions
Staking Transactions
Governance Transactions
Advanced Commands
genesis
Genesis file manipulation commands.
comet
CometBFT-specific commands.
debug
Debugging utilities.
Examples
Setting up a new account
Querying blockchain state
Sending transactions
Configuration
- Configuration directory:
~/.evmd/
- Key storage: Managed by the keyring backend (os, file, test)
- Node configuration:
~/.evmd/config/config.toml
- App configuration:
~/.evmd/config/app.toml
If you use the
--home
flag upon initializing the light client, the root/config directory will be generated there