Practical overview
When it fits
Use Ethabi when Rust tooling or a command-line workflow needs to convert between Ethereum ABI definitions and encoded invocation or result data.
Who it is for
- Rust developers building Ethereum contract tooling.
- Developers who need a CLI for ABI call, parameter or event-log encoding and decoding.
Documented uses
- Encode function-call data from a JSON ABI file, function name or signature, and parameters.
- Encode parameters when their ABI types are provided inline.
- Decode contract call results or typed ABI parameter data.
- Decode event logs using ABI definitions, event identifiers, topics and data.
Requirements & limits
- The repository states that Ethabi is not actively maintained.
- Its stated support targets valid ABIs generated by recent Solidity versions; unsupported or invalid ABI inputs may need preprocessing.
- The CLI installation command is
cargo install ethabi-cli.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Encode ABI parameters with ethabi CLI
Convert explicitly typed parameter values into Ethereum ABI-encoded data.
Before you start
- Install the CLI with
cargo install ethabi-cli. - Provide each parameter’s ABI type and value.
Steps
Install the CLI using the command below.
cargo install ethabi-cliRun
ethabi encode paramswith one or more-vpairs, such asethabi encode params -v bool 1.Use the emitted encoded data as the result of the encoding step.
Expected outcome
The CLI outputs ABI-encoded parameter data; the documented bool example produces a 32-byte encoded value ending in `1`.
Guide limitations
- The project is not actively maintained.
- The library intends to support valid ABIs generated by recent Solidity versions, not ABIs invalidated by known Solidity bugs or external libraries that do not follow the specification. Unsupported ABIs should be pre-processed.
- The documented recipe encodes parameters; it does not submit a contract call.
Decode ABI-encoded parameters with ethabi CLI
Interpret ABI-encoded data using explicitly supplied parameter types.
Before you start
- Install the CLI with
cargo install ethabi-cli. - Have the encoded data and the corresponding ABI type or types.
Steps
Install the CLI using the command below.
cargo install ethabi-cliRun
ethabi decode paramswith a-toption for each parameter type, followed by the encoded data.Read the decoded values printed by the CLI; the documented example uses
-t booland returnsbool true.
Expected outcome
The CLI prints decoded parameter values in the supplied types.
Guide limitations
- The project is not actively maintained.
- The library intends to support valid ABIs generated by recent Solidity versions, not ABIs invalidated by known Solidity bugs or external libraries that do not follow the specification. Unsupported ABIs should be pre-processed.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- rust-ethereum/ethabi · Official homepage title · retained in its source language
Related options
solabi-rs — The Ethabi README names it as an alternative to consider because Ethabi is not actively maintained.
alloy-rs/core — The Ethabi README names it as an alternative to consider because Ethabi is not actively maintained.

