mhw0
libethc
C

Open-source Ethereum library for C/C++

Last updated May 29, 2026
72
Stars
19
Forks
20
Issues
0
Stars/day
Attention Score
73
Language breakdown
C 91.4%
C++ 5.9%
CMake 2.8%
Files click to expand
README

libethc optimism-ethereum-op-logo polygon-matic-logo arbitrum-arb-logo ethereum-eth-logo

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

| ABI | RLP | ACCOUNT | ADDRESS | HEXADECIMAL | ECDSA | KECCAK256 | UNIT | BLOOM FILTER | |--------------------|--------------------|----------------------------|---------------------------|----------------------|------------------------|------------------|--------------------| -----------------------| | ethabibool | ethrlpuint8 | ethaccountcreate | ethisaddress | ethishex | ethecdsapubkeyget | ethkeccak256 | ethunitconvert | ethbloomfrom_bytes | | ethabiuint8 | ethrlpuint16 | ethaccountfromprivkey | ethischecksumaddress | ethhexpadleft | ethecdsasign | ethkeccak256p | | ethbloomand | | ethabiuint16 | ethrlpuint32 | ethaccountaddressget | ethtochecksumaddress | ethhexpadright | | | | ethbloom_or | | ethabiuint32 | ethrlpuint64 | ethaccountpubkeyget | ethhexfrombytes | | ethabiuint64 | ethrlpuint | ethaccountsign | ethhexto_bytes | | ethabiint8 | ethrlpaddress | | ethabiint16 | ethrlparray | | ethabiint32 | ethrlpbytes | | ethabiint64 | ethrlphex | | ethabimpint | ethrlplen | | ethabibytes8 | ethrlpto_hex | | ethabibytes16 | ethrlpto_bytes | | ethabibytes32 | ethrlpfrom_hex | | ethabibytes | | ethabiaddress | | ethabistring | | ethabicall | | ethabiarray | | ethabifrom_hex | | ethabito_hex |

Documentation

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

© 2026 GitRepoTrend · mhw0/libethc · Updated daily from GitHub