This is a collection of libraries and utilities for Ethereum.
Check out keythereum for managing keys and ethereumjs-tx for creating transactions with them.
You will need to interface with the Ethereum network. web3.js provides a complete RPC interface from Javascript. If looking for a more lightweight option, ethereumjs-abi or solidity.js can handle the ABI encoding.
See node-blockchain-server. It is in a pretty rough state at the moment, but at least can download the blockchain.
- common: the genesis data for the blockchain
- ethashjs: Ethash in Javascript
- ethereumjs-abi: ABI encoding and decoding
- ethereumjs-account: account schema encoding, decoding and validation
- ethereumjs-block: block schema encoding, decoding and validation
- ethereumjs-blockchain: manage a blockchain
- ethereumjs-codesim: run EVM or Solidity code and examine the output
- ethereumjs-lib: meta package for loading the other ethereumjs- modules
- ethereumjs-testing: transforms the official test vectors to a format suitable for ethereumjs
- ethereumjs-tx: transaction creation, manipulation, signing and verification
- ethereumjs-util: a collection of frequently used methods by the other libraries
- ethereumjs-vm: a complete EVM (Ethereum Virtual Machine) and state processing implementation
- geth.js: start and stop geth from Node.js
- keythereum: create, import and export Ethereum keys
- merkle-patricia-tree: This is an implementation of the modified merkle patricia tree as specified in the Ethereum yellow paper
- node-blockchain-server: aims to provide a full Ethereum node implementation
- node-devp2p: implementation of the RLPx transport protocol for Ethereum (used between nodes)
- node-devp2p-dpt: implementation of the RLPx DPT (peer table) protocol for Ethereum
- organization and ideas: plans and discussions
- rlp: RLP (Recursive Length Prefix) encoding and decoding
- solidity.js: ABI encoding and decoding (the relevant code split out from web3.js)
- web3.js: the complete API as seen in geth
Please check out organization and ideas repos first. Contributing to each of the projects is preferably done via pull requests.
You can also reach out on:
- Gitter
- #ethereumjs on freenode