- Load and manage multiple contract ABIs
- Support for both read and write operations
- Interactive command-line interface
- Configurable RPC endpoint and wallet settings
- Support for array and tuple parameters
- Transaction confirmation for write operations
- Automatic parameter validation
- Build the project:
cargo build --release
The tool uses two configuration files:
config.json
: Contains RPC URL, private key, chain ID, and wait time settingscontracts.json
: Contains contract names and their deployed addresses
These files are stored in the ~/.inachus
directory.
Example config.json
:
{
"rpc_url": "https://mainnet.infura.io/v3/your-project-id",
"private_key": "your-private-key",
"chain_id": "1",
"wait_time": "5"
}
Example contracts.json
:
[
{
"name": "MyContract.abi",
"address": "0x1234567890123456789012345678901234567890"
}
]
-
Place your contract ABI files in the
~/.inachus/abi
directory with a.abi
extension. -
Run the tool:
cargo run --release
- Follow the interactive prompts to:
- Select a contract
- Set contract address
- Choose between read and write methods
- Input method parameters
- Execute transactions
This project is licensed under the MIT License - see the LICENSE file for details.