Skip to content

Commit 72c4321

Browse files
committed
Updated repository listings, moved to info boxes, some topical clustering
1 parent 83a9886 commit 72c4321

File tree

3 files changed

+117
-47
lines changed

3 files changed

+117
-47
lines changed

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,26 @@ introduction to the ecosystem and the community.
1010
Site is hosted at https://ethereumjs.github.io/ via [GitHub Pages](https://pages.github.com) and
1111
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/)).
1212

13+
It uses the [Cayman](https://github.com/jasonlong/cayman-theme) theme available as an option on GitHub.
14+
15+
# SITE UPDATES
16+
1317
You can update the site by editing the markdown in [./index.md](./index.md) (via PR), build will be
1418
triggered automatically on merge.
1519

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+
1633
# LOCAL BUILD
1734

1835
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.

_config.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1-
title: ethereumjs
2-
description: Your Javascript gateway to Ethereum
1+
title: EthereumJS
2+
description: Your Javascript Gateway to Ethereum
3+
repository: ethereumjs
34
google_analytics:
45
show_downloads: true
56
theme: jekyll-theme-cayman
67

78
gems:
89
- jekyll-mentions
10+
- jekyll-github-metadata
11+
12+
sass:
13+
load_paths:
14+
- assets/css # original sass
15+
16+

index.md

Lines changed: 90 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,70 @@
1-
This is a collection of libraries and utilities for [Ethereum](https://ethereum.org).
21

3-
## Use cases
2+
<div class="intro-text">
3+
The <a href="https://github.com/ethereumjs/">EthereumJS</a> community builds Javascript tools implementing core <a href="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>
47

5-
### Creating an online wallet?
8+
<h1>Projects</h1>
9+
10+
<div class="repo-group">
11+
<h3><i class="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+
<div class="repo-group">
18+
<h3><i class="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" %}
22+
</div>
23+
24+
<div class="separator"></div>
25+
26+
<div class="repo-group">
27+
<h3><i class="fa fa-cube"></i> BLOCKCHAIN / ABI</h3>
28+
<p>Implementations of the main building blocks of the Ethereum blockchain.</p>
29+
{% include repository.html name="ethereumjs-blockchain" %}
30+
{% include repository.html name="ethereumjs-block" %}
31+
{% include repository.html name="ethereumjs-tx" %}
32+
{% include repository.html name="ethereumjs-abi" %}
33+
</div>
34+
35+
<div class="repo-group">
36+
<h3><i class="fa fa-wrench"></i> UTILITIES / TOOLS</h3>
37+
<p>Helpers and utilities for everyday Ethereum life.</p>
38+
{% include repository.html name="ethereumjs-util" %}
39+
{% include repository.html name="helpeth" %}
40+
{% include repository.html name="common" %}
41+
{% include repository.html name="geth.js" %}
42+
</div>
43+
44+
<div class="separator"></div>
45+
46+
<div class="repo-group">
47+
<h3><i class="fa fa-money"></i> WALLET / MINING</h3>
48+
<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+
<div class="repo-group">
56+
<h3><i class="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+
<div class="separator" style="height:0px;"></div>
64+
65+
<h1>Use Cases</h1>
66+
67+
### Creating an Online Wallet?
668

769
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.
870
[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-
1173

1274
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.
1375

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+
5187
* [web3.js](https://github.com/ethereum/web3.js): the complete API as seen in the [wiki](https://github.com/ethereum/wiki/wiki/JavaScript-API)
5288
* [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
5392

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.
5596

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+
<div class="intro-text">
98+
You can reach out to us on
99+
<a href="https://gitter.im/ethereum/ethereumjs-lib">Gitter</a> or
100+
<a href="https://webchat.freenode.net/?channels=ethereumjs">#ethereumjs</a> on freenode.
101+
</div>
57102

58-
You can also reach out on:
59-
* [Gitter](https://gitter.im/ethereum/ethereumjs-lib)
60-
* [#ethereumjs](https://webchat.freenode.net/?channels=ethereumjs) on freenode
103+
<p class="attribution">
104+
Courtesy of <a href="http://fontawesome.io/">Font Awesome</a> for the icons used.
105+
</p>

0 commit comments

Comments
 (0)