You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,26 @@ introduction to the ecosystem and the community.
10
10
Site is hosted at https://ethereumjs.github.io/ via [GitHub Pages](https://pages.github.com) and
11
11
build with [Jekyll](https://jekyllrb.com/) (see also ["Jekyll and GH Pages"](https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/)).
12
12
13
+
It uses the [Cayman](https://github.com/jasonlong/cayman-theme) theme available as an option on GitHub.
14
+
15
+
# SITE UPDATES
16
+
13
17
You can update the site by editing the markdown in [./index.md](./index.md) (via PR), build will be
14
18
triggered automatically on merge.
15
19
20
+
For information on repository metadata on GitHub pages see [this](https://help.github.com/articles/repository-metadata-on-github-pages/) article.
21
+
22
+
Custom CSS can be added in [./assets/css/style.scss](./assets/css/style.scss).
23
+
24
+
# LIBRARY INCLUDES
25
+
26
+
The website uses [Font Awesome](http://fontawesome.io/)``v4.7.x`` for some icons. To update the library
27
+
download the latest release from the website and replace the un-versioned ``font-awesome`` folder in the
28
+
``assets/`` folder.
29
+
30
+
In ``scss/_variables.scss`` update the ``$fa-font-path`` to point to the ``../font-awesome/fonts`` directory.
31
+
32
+
16
33
# LOCAL BUILD
17
34
18
35
To build the site locally you have to have a working [Ruby](https://www.ruby-lang.org)``2.4.x`` environment (you can use the [RVM](https://rvm.io/) Ruby version manager for this) and ``bundle`` and ``Jekyll`` installed.
This is a collection of libraries and utilities for [Ethereum](https://ethereum.org).
2
1
3
-
## Use cases
2
+
<divclass="intro-text">
3
+
The <ahref="https://github.com/ethereumjs/">EthereumJS</a> community builds Javascript tools implementing core <ahref="https://ethereum.org">Ethereum</a>
4
+
technologies, protocols and APIs for helping developers to interact with the Ethereum network and build
5
+
their own applications.
6
+
</div>
4
7
5
-
### Creating an online wallet?
8
+
<h1>Projects</h1>
9
+
10
+
<divclass="repo-group">
11
+
<h3><iclass="fa fa-cogs"></i> VM / PATRICIA TREE</h3>
12
+
<p>Implementation of the Ethereum VM and merkle patricia tree data structure.</p>
13
+
{% include repository.html name="ethereumjs-vm" %}
14
+
{% include repository.html name="merkle-patricia-tree" %}
15
+
</div>
16
+
17
+
<divclass="repo-group">
18
+
<h3><iclass="fa fa-key"></i> KEYS / ACCOUNT</h3>
19
+
<p>Tools for Ethereum key and account management.</p>
20
+
{% include repository.html name="keythereum" %}
21
+
{% include repository.html name="ethereumjs-account" %}
<p>Tools for wallet implementations and interactions.</p>
49
+
{% include repository.html name="ethereumjs-wallet" %}
50
+
{% include repository.html name="ethereumjs-units" %}
51
+
{% include repository.html name="ethereumjs-icap" %}
52
+
{% include repository.html name="ethashjs" %}
53
+
</div>
54
+
55
+
<divclass="repo-group">
56
+
<h3><iclass="fa fa-globe"></i> NETWORK</h3>
57
+
<p>Network communication layer and message encoding.</p>
58
+
{% include repository.html name="ethereumjs-devp2p" %}
59
+
{% include repository.html name="ethrpc" %}
60
+
{% include repository.html name="node-blockchain-server" %}
61
+
</div>
62
+
63
+
<divclass="separator"style="height:0px;"></div>
64
+
65
+
<h1>Use Cases</h1>
66
+
67
+
### Creating an Online Wallet?
6
68
7
69
Check out [keythereum](https://github.com/ethereumjs/keythereum) or [ethereumjs-wallet](https://github.com/ethereumjs/ethereumjs-wallet) (with HD wallet support) for managing keys and [ethereumjs-tx](https://github.com/ethereumjs/ethereumjs-tx) for creating transactions with them.
8
70
[ethereumjs-icap](https://github.com/ethereumjs/ethereumjs-icap) might also come handy for dealing with the ICAP (Ethereum in IBAN) format.
@@ -11,50 +73,33 @@ Check out [keythereum](https://github.com/ethereumjs/keythereum) or [ethereumjs-
11
73
12
74
You will need to interface with the Ethereum network. [web3.js](https://github.com/ethereum/web3.js) provides a complete Javascript API to interact with the RPC interface. If looking for a more lightweight option, [ethereumjs-abi](https://github.com/ethereumjs/ethereumjs-abi) or [solidity.js](https://github.com/ethereumjs/solidity.js) can handle the ABI encoding.
13
75
14
-
### Interested in running a node?
15
-
16
-
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.
17
-
18
-
## Full list of repos
19
-
20
-
*[browser-builds](https://github.com/ethereumjs/browser-builds): browser builds of ethereumjs libraries
21
-
*[common](https://github.com/ethereumjs/common): the genesis data for the blockchain
22
-
*[ethashjs](https://github.com/ethereumjs/ethashjs): [Ethash](https://github.com/ethereum/wiki/wiki/Ethash) in Javascript
23
-
*[ethereumjs-abi](https://github.com/ethereumjs/ethereumjs-abi): ABI encoding and decoding
24
-
*[ethereumjs-account](https://github.com/ethereumjs/ethereumjs-account): account schema encoding, decoding and validation
25
-
*[ethereumjs-block](https://github.com/ethereumjs/ethereumjs-block): block schema encoding, decoding and validation
26
-
*[ethereumjs-blockchain](https://github.com/ethereumjs/ethereumjs-blockchain): manage a blockchain
27
-
*[ethereumjs-codesim](https://github.com/axic/ethereumjs-codesim): run EVM or Solidity code and examine the output
28
-
*[ethereumjs-icap](https://github.com/ethereumjs/ethreumjs-icap): utilities for handling ICAP (Ethereum in IBAN) encoding
29
-
*[ethereumjs-lib](https://github.com/ethereumjs/ethereumjs-lib): meta package for loading the other ethereumjs- modules
30
-
*[ethereumjs-testing](https://github.com/ethereumjs/ethereumjs-testing): transforms the [official test vectors](https://github.com/ethereum/tests) to a format suitable for ethereumjs
31
-
*[ethereumjs-tx](https://github.com/ethereumjs/ethereumjs-tx): transaction creation, manipulation, signing and verification
32
-
*[ethereumjs-units](https://github.com/ethereumjs/ethereumjs-units): Ethereum unit conversion
33
-
*[ethereumjs-util](https://github.com/ethereumjs/ethereumjs-util): a collection of frequently used methods by the other libraries
34
-
*[ethereumjs-wallet](https://github.com/ethereumjs/ethereumjs-wallet): lightweight toolkit for managing Ethereum keys, including HD wallet support
35
-
*[ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm): a complete EVM (Ethereum Virtual Machine) and state processing implementation
36
-
*[geth.js](https://github.com/ethereumjs/geth.js): start and stop geth from Node.js
37
-
*[helpeth](https://github.com/ethereumjs/helpeth): purists' commandline tool for key and transaction management
38
-
*[keythereum](https://github.com/ethereumjs/keythereum): create, import and export Ethereum keys
39
-
*[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)
40
-
*[node-blockchain-server](https://github.com/ethereumjs/node-blockchain-server): aims to provide a full Ethereum node implementation
41
-
*[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)
42
-
*[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
43
-
*[node-devp2p-eth](https://github.com/ethereumjs/node-devp2p-eth): implementation of the Ethereum sub-protocol over RLPx
44
-
*[node-devp2p-manager](https://github.com/ethereumjs/node-devp2p-manager): peer manager for DPT & RLPx
45
-
*[organization](https://github.com/ethereumjs/organization) and [ideas](https://github.com/ethereumjs/ideas): plans and discussions
46
-
*[rlp](https://github.com/ethereumjs/rlp): [RLP (Recursive Length Prefix)](https://github.com/ethereum/wiki/wiki/RLP) encoding and decoding
47
-
*[testrpc](https://github.com/ethereumjs/testrpc): fast Ethereum RPC node for testing and development
48
-
49
-
50
-
## Ethereum JS projects not tracked here
76
+
### Build for the Web?
77
+
78
+
Most of the EthereumJS libraries can be transpiled with [babel](https://babeljs.io/) to be used in web context.
79
+
We provide [browser-builds](https://github.com/ethereumjs/browser-builds) for some EthereumJS libraries, be
80
+
warned though that these might often be slightly out of date.
81
+
82
+
# Projects not Tracked Here
83
+
84
+
There are various high-quality Ethereum infrastructure Javascript projects outside the EthereumJS scope.
85
+
Some worth mentioning:
86
+
51
87
*[web3.js](https://github.com/ethereum/web3.js): the complete API as seen in the [wiki](https://github.com/ethereum/wiki/wiki/JavaScript-API)
52
88
*[solidity.js](https://github.com/ethereum/solidity.js): ABI encoding and decoding (the relevant code split out from web3.js)
89
+
*[eth.js](https://github.com/ethjs): Simple JS modules for the Ethereum ecosystem
90
+
91
+
# Contributing and Contact
53
92
54
-
## Contributing and contact
93
+
Contributing to each of the projects is preferably done via pull requests. To start you can watch out for
94
+
"help wanted" issues on the organization [GitHub page](https://github.com/ethereumjs/) or have a look for
95
+
suitable issues on the various repos.
55
96
56
-
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.
97
+
<divclass="intro-text">
98
+
You can reach out to us on
99
+
<ahref="https://gitter.im/ethereum/ethereumjs-lib">Gitter</a> or
100
+
<ahref="https://webchat.freenode.net/?channels=ethereumjs">#ethereumjs</a> on freenode.
0 commit comments