|
1 | | -# ethereumjs.github.io |
| 1 | +This is a collection of libraries and utilities for [Ethereum](https://ethereum.org). |
| 2 | + |
| 3 | +## Use cases |
| 4 | + |
| 5 | +### Creating an online wallet? |
| 6 | + |
| 7 | +Check out [keythereum](https://github.com/ethereumjs/keythereum) for managing keys and [ethereumjs-tx](https://github.com/ethereumjs/ethereumjs-tx) for creating transactions with them. |
| 8 | + |
| 9 | +### Creating a Dapp? |
| 10 | + |
| 11 | +You will need to interface with the Ethereum network. [web3.js](https://github.com/ethereumjs/web3.js) provides a complete RPC interface from Javascript. If looking for a more lightweight option, [ethereumjs-abi](https://github.com/axic/ethereumjs-abi) or [solidity.js](https://github.com/ethereumjs/solidity.js) can handle the ABI encoding. |
| 12 | + |
| 13 | +### Interested in running a node? |
| 14 | + |
| 15 | +See [node-blockchain-server](https://github.com/ethereumjs/node-blockchain-server). It is in a pretty rough state at the moment, but at least can download the blockchain. |
| 16 | + |
| 17 | +## Full list of repos |
| 18 | + |
| 19 | +* [common](https://github.com/ethereumjs/common): the genesis data for the blockchain |
| 20 | +* [ethashjs](https://github.com/ethereumjs/ethashjs): [Ethash](https://github.com/ethereum/wiki/wiki/Ethash) in Javascript |
| 21 | +* [ethereumjs-abi](https://github.com/axic/ethereumjs-abi): ABI encoding and decoding |
| 22 | +* [ethereumjs-account](https://github.com/ethereumjs/ethereumjs-account): account schema encoding, decoding and validation |
| 23 | +* [ethereumjs-block](https://github.com/ethereumjs/ethereumjs-block): block schema encoding, decoding and validation |
| 24 | +* [ethereumjs-blockchain](https://github.com/ethereumjs/ethereumjs-blockchain): manage a blockchain |
| 25 | +* [ethereumjs-codesim](https://github.com/axic/ethereumjs-codesim): run EVM or Solidity code and examine the output |
| 26 | +* [ethereumjs-lib](https://github.com/ethereumjs/ethereumjs-lib): meta package for loading the other ethereumjs- modules |
| 27 | +* [ethereumjs-testing](https://github.com/ethereumjs/ethereumjs-testing): transforms the [official test vectors](https://github.com/ethereum/tests) to a format suitable for ethereumjs |
| 28 | +* [ethereumjs-tx](https://github.com/ethereumjs/ethereumjs-tx): transaction creation, manipulation, signing and verification |
| 29 | +* [ethereumjs-util](https://github.com/ethereumjs/ethereumjs-util): a collection of frequently used methods by the other libraries |
| 30 | +* [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm): a complete EVM (Ethereum Virtual Machine) and state processing implementation |
| 31 | +* [geth.js](https://github.com/ethereumjs/geth.js): start and stop geth from Node.js |
| 32 | +* [keythereum](https://github.com/ethereumjs/keythereum): create, import and export Ethereum keys |
| 33 | +* [merkle-patricia-tree](https://github.com/ethereumjs/merkle-patricia-tree): This is an implementation of the modified merkle patricia tree as specified in the [Ethereum yellow paper](http://gavwood.com/Paper.pdf) |
| 34 | +* [node-blockchain-server](https://github.com/ethereumjs/node-blockchain-server): aims to provide a full Ethereum node implementation |
| 35 | +* [node-devp2p](https://github.com/ethereumjs/node-devp2p): implementation of the [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) transport protocol for Ethereum (used between nodes) |
| 36 | +* [node-devp2p-dpt](https://github.com/ethereumjs/node-devp2p-dpt): implementation of the [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) DPT (peer table) protocol for Ethereum |
| 37 | +* [organization](https://github.com/ethereumjs/organization) and [ideas](https://github.com/ethereumjs/ideas): plans and discussions |
| 38 | +* [rlp](https://github.com/ethereumjs/rlp): [RLP (Recursive Length Prefix)](https://github.com/ethereum/wiki/wiki/RLP) encoding and decoding |
| 39 | +* [solidity.js](https://github.com/ethereumjs/solidity.js): ABI encoding and decoding (the relevant code split out from web3.js) |
| 40 | +* [web3.js](https://github.com/ethereumjs/web3.js): the complete API as seen in [geth](https://github.com/ethereum/go-ethereum) |
| 41 | + |
| 42 | +## Contributing and contact |
| 43 | + |
| 44 | +Please check out [organization](https://github.com/ethereumjs/organization) and [ideas](https://github.com/ethereumjs/ideas) repos first. Contributing to each of the projects is preferably done via pull requests. |
| 45 | + |
| 46 | +You can also reach out on: |
| 47 | +* [Gitter](https://gitter.im/ethereum/ethereumjs-lib) |
| 48 | +* [#ethereumjs](https://webchat.freenode.net/?channels=ethereumjs) on freenode |
0 commit comments