Projects
VIRTUAL MACHINE
Implementation of the Ethereum virtual machine supporting the latest fork rules.
MERKLE TREE
Implementation of the core Ethereum data structure.
DAPP DEVELOPMENT
Libraries and tools to support Dapp development.
KEY MANAGEMENT
Tools for Ethereum key management and wallet interaction.
BLOCKCHAIN
Implementations of the main building blocks of the Ethereum blockchain.
UTILITIES / BINDINGS
Utilities libraries and bindings to third-party libraries.
NETWORK
Implementation of the Ethereum network communication layer.
Use Cases
Creating an Online Wallet?
Check out keythereum or ethereumjs-wallet (with HD wallet support) for managing keys and ethereumjs-tx for creating transactions with them. ethereumjs-icap might also come handy for dealing with the ICAP (Ethereum in IBAN) format.
Creating a Dapp?
You will need to interface with the Ethereum network. web3.js provides a complete Javascript API to interact with the RPC interface. If looking for a more lightweight option, ethereumjs-abi or solidity.js can handle the ABI encoding.
Build for the Web?
Most of the EthereumJS libraries can be transpiled with babel to be used in web context. We provide browser-builds for some EthereumJS libraries, be warned though that these might often be slightly out of date.
Projects not Tracked Here
There are various high-quality Ethereum infrastructure Javascript projects outside the EthereumJS scope. Some worth mentioning:
- web3.js: the complete API as seen in the wiki
- solidity.js: ABI encoding and decoding (the relevant code split out from web3.js)
- eth.js: Simple JS modules for the Ethereum ecosystem
Contributing and Contact
Contributing to each of the projects is preferably done via pull requests. To start you can watch out for “help wanted” issues on the organization GitHub page or have a look for suitable issues on the various repos.
Courtesy of Font Awesome for the icons used.