Ethereum TypeScript Client Library - for perfect types and tiny builds.
web3x
was created originally as a pure TypeScript port of web3.js
. Although its API has diverged slightly from web3.js
,
it still maintains a strong degree of alignment and porting from one to the other should be fairly trivial.
web3x
provides full type safety when interacting with contracts by building type definitions from contract ABIs.
It has its own EVM implementation for testing contract behaviour fully in process using standard testing tools (e.g. Jest).
This monorepo is split into several sub-packages.
Versioning is managed manually, and follows the same pattern as Lerna fixed mode. Lerna is not used due to a trilemma that the Lerna maintainer refuses to resolve:
version.json
and package version numbers.version.json
.version.json
.