libethc

August 20, 2025 · View on GitHub

ci-unix ci-docs GitHub release

libethc is an open-source Ethereum library for C and C++. It comes with numerous utility functions that will help when interacting with EVM based networks.

Motivation

Most Ethereum libraries are made for high-level languages like JavaScript, Python or others, but those aren’t a good fit for low-level environments. C and C++ are fast, lightweight, and widely used in embedded development, firmware, and performance-critical software. With libethc, it becomes possible to use blockchain features on devices that don’t have the resources for big runtimes or dynamic memory. This includes things like hardware wallets, IoT devices, and payment terminals — places where there’s a need to sign transactions or perform actions on Ethereum network, directly on the device. Right now, most tools simply aren’t built for that. libethc fills that gap and makes Ethereum integration possible in environments that have been left out.

Features

ABIRLPACCOUNTADDRESSHEXADECIMALECDSAKECCAK256UNITBLOOM FILTER
eth_abi_bool eth_rlp_uint8eth_account_createeth_is_addresseth_is_hexeth_ecdsa_pubkey_geteth_keccak256eth_unit_converteth_bloom_from_bytes
eth_abi_uint8eth_rlp_uint16eth_account_from_privkeyeth_is_checksum_addresseth_hex_pad_lefteth_ecdsa_signeth_keccak256peth_bloom_and
eth_abi_uint16eth_rlp_uint32eth_account_address_geteth_to_checksum_addresseth_hex_pad_righteth_bloom_or
eth_abi_uint32eth_rlp_uint64eth_account_pubkey_geteth_hex_from_bytes
eth_abi_uint64eth_rlp_uinteth_account_signeth_hex_to_bytes
eth_abi_int8eth_rlp_address
eth_abi_int16eth_rlp_array
eth_abi_int32eth_rlp_bytes
eth_abi_int64eth_rlp_hex
eth_abi_mpinteth_rlp_len
eth_abi_bytes8eth_rlp_to_hex
eth_abi_bytes16eth_rlp_to_bytes
eth_abi_bytes32eth_rlp_from_hex
eth_abi_bytes
eth_abi_address
eth_abi_string
eth_abi_call
eth_abi_array
eth_abi_from_hex
eth_abi_to_hex

Documentation

Documentation can be found here: https://mhw0.github.io/libethc