Skip to content

Commit 8a96fc8

Browse files
authored
Merge pull request #11 from ethereumjs/website-update
Minimal EthereumJS Website Update
2 parents 48b7d1c + 9e2d706 commit 8a96fc8

File tree

8 files changed

+220
-73
lines changed

8 files changed

+220
-73
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
.DS_Store
12
_site
23
.sass-cache
34
.jekyll-metadata
5+
.bundle
6+
vendor
47
Gemfile.lock

Gemfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
source 'https://rubygems.org'
2-
gem 'github-pages', group: :jekyll_plugins
2+
gem 'github-pages', group: :jekyll_plugins
3+
gem "webrick", "~> 1.8"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ In ``scss/_variables.scss`` update the ``$fa-font-path`` to point to the ``../fo
3232

3333
# LOCAL BUILD
3434

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.
35+
To build the site locally you have to have a working [Ruby](https://www.ruby-lang.org) ``3.2 .x`` environment (you can use the [RVM](https://rvm.io/) Ruby version manager for this) and ``bundle`` and ``Jekyll`` installed.
3636

3737
Install the ``GitHub pages`` gem from the ``Gemfile`` with:
3838

@@ -45,13 +45,13 @@ See also [this article](https://help.github.com/articles/setting-up-your-github-
4545
The site can then be build with:
4646

4747
```
48-
jekyll build
48+
bundle exec jekyll build
4949
```
5050

5151
And being served on http://127.0.0.1:4000 with:
5252

5353
```
54-
jekyll serve
54+
bundle exec jekyll serve
5555
```
5656

5757
[discord-badge]: https://img.shields.io/static/v1?logo=discord&label=discord&message=Join&color=blue

_config.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ google_analytics:
55
show_downloads: true
66
theme: jekyll-theme-cayman
77

8-
gems:
9-
- jekyll-mentions
10-
- jekyll-github-metadata
11-
128
sass:
139
load_paths:
1410
- assets/css # original sass

_includes/repository.html

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,5 @@
1919
</div>
2020
</div>
2121

22-
23-
24-
2522
{% endif %}
2623
{% endfor %}

_includes/repository_small.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{% for repository in site.github.public_repositories %}
2+
{% if repository.name == include.name %}
3+
<pre id="github-pages-metadata" style="display:none;"></pre>
4+
<script>document.getElementById("github-pages-metadata").innerHTML = JSON.stringify({{ repository | jsonify }}, null, 4);</script>
5+
{{ repository.stargazers_count }} <i class="fa fa-star"></i>
6+
{% endif %}
7+
{% endfor %}

assets/css/style.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ h1 {
1717
padding: 20px;
1818
font-size: 1.2rem;
1919
text-align: center;
20+
margin-bottom: 7px;
2021
}
2122

2223
.repo-group {

index.md

Lines changed: 204 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,255 @@
11

22
<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.
3+
<a href="https://github.com/ethereumjs/">EthereumJS</a> is an implementation of the core <a href="https://ethereum.org">Ethereum</a> Execution Layer (EL) Protocol stack in TypeScript.
64
</div>
75

6+
<div class="intro-text">
7+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo">https://github.com/ethereumjs/ethereumjs-monorepo</a>
8+
&nbsp;{% include repository_small.html name="ethereumjs-monorepo" %}
9+
</div>
10+
811
<h1>Projects</h1>
912

1013
<div class="repo-group">
11-
<h3><i class="fa fa-cogs"></i> VIRTUAL MACHINE</h3>
12-
<p>Implementation of the Ethereum virtual machine supporting the latest fork rules.</p>
13-
{% include repository.html name="ethereumjs-vm" %}
14+
<h3><i class="fa fa-cogs"></i> VIRTUAL MACHINE (EVM)</h3>
15+
<p>Implementation of the Ethereum Virtual Machine in TypeScript supporting
16+
all hardforks and allowing for easy integration of the EVM in web applications.</p>
1417
</div>
1518

1619
<div class="repo-group">
17-
<h3><i class="fa fa-sitemap"></i> MERKLE TREE / RLP</h3>
18-
<p>Implementation of the core Ethereum data structure.</p>
19-
{% include repository.html name="merkle-patricia-tree" %}
20-
{% include repository.html name="rlp" %}
20+
<div class="repo-box">
21+
<div class="repo-header">
22+
<div class="repo-header-right">
23+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm" alt="GitHub URL">
24+
<i class="fa fa-github"></i>
25+
</a>
26+
</div>
27+
@ethereumjs/vm
28+
</div>
29+
<div class="repo-description">
30+
<ul>
31+
<li>All hardforks until Shanghai</li>
32+
<li>Preliminary Cancun support (incl. EIP-4844)</li>
33+
<li>Basic tracing and debug support</li>
34+
<li>Flexible EIP on/off engine</li>
35+
<li>Modular EVM core</li>
36+
</ul>
37+
</div>
38+
</div>
2139
</div>
2240

2341
<div class="separator"></div>
2442

2543
<div class="repo-group">
26-
<h3><i class="fa fa-lightbulb-o"></i> DAPP DEVELOPMENT</h3>
27-
<p>Libraries and tools to support Dapp development.</p>
28-
{% include repository.html name="ethrpc" %}
29-
{% include repository.html name="ethereumjs-util" %}
30-
{% include repository.html name="ethereumjs-units" %}
31-
{% include repository.html name="ethereumjs-abi" %}
32-
{% include repository.html name="ethereumjs-tx" %}
44+
<h3><i class="fa fa-cogs"></i> Execution Layer Client</h3>
45+
<p>Execution Layer client similar to Go-Ethereum or Nethermind in TypeScript with support for
46+
full sync and most of the JSON RPC endpoints.</p>
3347
</div>
3448

3549
<div class="repo-group">
36-
<h3><i class="fa fa-key"></i> KEY MANAGEMENT</h3>
37-
<p>Tools for Ethereum key management and wallet interaction.</p>
38-
{% include repository.html name="ethereumjs-wallet" %}
39-
{% include repository.html name="keythereum" %}
40-
{% include repository.html name="ethereumjs-icap" %}
41-
{% include repository.html name="helpeth" %}
50+
<div class="repo-box">
51+
<div class="repo-header">
52+
<div class="repo-header-right">
53+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client" alt="GitHub URL">
54+
<i class="fa fa-github"></i>
55+
</a>
56+
</div>
57+
@ethereumjs/client
58+
</div>
59+
<div class="repo-description">
60+
<ul>
61+
<li>Full sync support</li>
62+
<li>Engine API</li>
63+
<li>JSON-RPC via HTTP or Websocket</li>
64+
<li>Syncs small and mid-size test networks</li>
65+
<li>Used for protocol development (EIP-4844)</li>
66+
</ul>
67+
</div>
68+
</div>
4269
</div>
4370

4471
<div class="separator"></div>
4572

4673
<div class="repo-group">
47-
<h3><i class="fa fa-cube"></i> BLOCKCHAIN</h3>
48-
<p>Implementations of the main building blocks of the Ethereum blockchain.</p>
49-
{% include repository.html name="ethereumjs-client" %}
50-
{% include repository.html name="ethereumjs-blockchain" %}
51-
{% include repository.html name="ethereumjs-block" %}
52-
{% include repository.html name="ethereumjs-account" %}
53-
{% include repository.html name="ethereumjs-blockstream" %}
74+
<h3><i class="fa fa-cogs"></i> Ultralight</h3>
75+
<p>Portal Network client implementation in TypeScript (in Development).</p>
5476
</div>
5577

5678
<div class="repo-group">
57-
<h3><i class="fa fa-wrench"></i> UTILITIES / BINDINGS</h3>
58-
<p>Utilities libraries and bindings to third-party libraries.</p>
59-
{% include repository.html name="geth.js" %}
60-
{% include repository.html name="ethashjs" %}
61-
{% include repository.html name="node-ethash" %}
62-
{% include repository.html name="rustbn.js" %}
79+
<div class="repo-box">
80+
<div class="repo-header">
81+
<div class="repo-header-right">
82+
<a href="https://github.com/ethereumjs/ultralight" alt="GitHub URL">
83+
<i class="fa fa-github"></i>
84+
</a>
85+
</div>
86+
Ultralight
87+
</div>
88+
<div class="repo-description">
89+
<ul>
90+
<li>History Network Support</li>
91+
<li>State Network (in development)</li>
92+
<li>Beacon Chain Network (in development)</li>
93+
</ul>
94+
</div>
95+
</div>
6396
</div>
6497

6598
<div class="separator"></div>
6699

67100
<div class="repo-group">
68-
<h3><i class="fa fa-globe"></i> NETWORK</h3>
69-
<p>Implementation of the Ethereum network communication layer.</p>
70-
{% include repository.html name="ethereumjs-devp2p" %}
101+
<h3><i class="fa fa-cube"></i> Blockchain</h3>
102+
<p>Core building blocks for an Ethereum blockchain including a transaction library supporting all existing
103+
transaction types.</p>
71104
</div>
72105

73-
<div class="separator" style="height:0px;"></div>
106+
<div class="repo-group">
107+
<div class="repo-box">
108+
<div class="repo-header">
109+
<div class="repo-header-right">
110+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/tx" alt="GitHub URL">
111+
<i class="fa fa-github"></i>
112+
</a>
113+
</div>
114+
@ethereumjs/tx
115+
</div>
116+
<div class="repo-description">
117+
Implementation of the various transaction types.
118+
</div>
119+
</div>
74120

75-
<h1>Use Cases</h1>
121+
<div class="repo-box">
122+
<div class="repo-header">
123+
<div class="repo-header-right">
124+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block" alt="GitHub URL">
125+
<i class="fa fa-github"></i>
126+
</a>
127+
</div>
128+
@ethereumjs/block
129+
</div>
130+
<div class="repo-description">
131+
Block representations for all hardforks.
132+
</div>
133+
</div>
76134

77-
### Creating an Online Wallet?
135+
<div class="repo-box">
136+
<div class="repo-header">
137+
<div class="repo-header-right">
138+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain" alt="GitHub URL">
139+
<i class="fa fa-github"></i>
140+
</a>
141+
</div>
142+
@ethereumjs/blockchain
143+
</div>
144+
<div class="repo-description">
145+
Ethereum mainnet-compatible blockchain.
146+
</div>
147+
</div>
148+
149+
</div>
78150

79-
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.
80-
[ethereumjs-icap](https://github.com/ethereumjs/ethereumjs-icap) might also come handy for dealing with the ICAP (Ethereum in IBAN) format.
151+
<div class="separator"></div>
81152

82-
### Creating a Dapp?
153+
<div class="repo-group">
154+
<h3><i class="fa fa-cogs"></i> Protocol</h3>
155+
<p>Implementations of protocol components and data structures.</p>
156+
</div>
83157

84-
You will need to interface with the Ethereum network. [web3.js](https://github.com/ethereum/web3.js) and [ethers.js](https://github.com/ethers-io/ethers.js) both provide 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 [ethjs-abi](https://github.com/ethjs/ethjs-abi) can handle the ABI encoding.
158+
<div class="repo-group">
159+
<div class="repo-box">
160+
<div class="repo-header">
161+
<div class="repo-header-right">
162+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/trie" alt="GitHub URL">
163+
<i class="fa fa-github"></i>
164+
</a>
165+
</div>
166+
@ethereumjs/trie
167+
</div>
168+
<div class="repo-description">
169+
Implementation of a Merkle Patricia Tree.
170+
</div>
171+
</div>
85172

86-
### Build for the Web?
173+
<div class="repo-box">
174+
<div class="repo-header">
175+
<div class="repo-header-right">
176+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/rlp" alt="GitHub URL">
177+
<i class="fa fa-github"></i>
178+
</a>
179+
</div>
180+
@ethereumjs/rlp
181+
</div>
182+
<div class="repo-description">
183+
RLP encoding and decoding.
184+
</div>
185+
</div>
87186

88-
Most of the EthereumJS libraries can be transpiled with [babel](https://babeljs.io/) to be used in web context.
89-
We provide [browser-builds](https://github.com/ethereumjs/browser-builds) for some EthereumJS libraries, be
90-
warned though that these might often be slightly out of date.
187+
<div class="repo-box">
188+
<div class="repo-header">
189+
<div class="repo-header-right">
190+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/util" alt="GitHub URL">
191+
<i class="fa fa-github"></i>
192+
</a>
193+
</div>
194+
@ethereumjs/util
195+
</div>
196+
<div class="repo-description">
197+
Utilities for 4844, bytes, signatures, withdrawals, addresses and other.
198+
</div>
199+
</div>
91200

92-
# Projects not Tracked Here
201+
<div class="repo-box">
202+
<div class="repo-header">
203+
<div class="repo-header-right">
204+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/wallet" alt="GitHub URL">
205+
<i class="fa fa-github"></i>
206+
</a>
207+
</div>
208+
@ethereumjs/wallet
209+
</div>
210+
<div class="repo-description">
211+
Wallet implementation with key management and various import formats.
212+
</div>
213+
</div>
214+
</div>
93215

94-
There are various high-quality Ethereum infrastructure Javascript projects outside the EthereumJS scope.
95-
Some worth mentioning:
216+
<div class="separator"></div>
217+
218+
219+
<div class="repo-group">
220+
<h3><i class="fa fa-globe"></i> Network</h3>
221+
<p>Implementation of the Ethereum network communication layer.</p>
222+
</div>
223+
224+
<div class="repo-group">
225+
<div class="repo-box">
226+
<div class="repo-header">
227+
<div class="repo-header-right">
228+
<a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/devp2p" alt="GitHub URL">
229+
<i class="fa fa-github"></i>
230+
</a>
231+
</div>
232+
@ethereumjs/devp2p
233+
</div>
234+
<div class="repo-description">
235+
Devp2p implementation with support for Discovery (DPT), RLPx transport, ETH protocol, LES and SNAP.
236+
</div>
237+
</div>
238+
</div>
239+
240+
<div class="separator"></div>
96241

97-
* [web3.js](https://github.com/ethereum/web3.js): the complete API as seen in the [wiki](https://github.com/ethereum/wiki/wiki/JavaScript-API)
98-
* [ethers.js](https://github.com/ethers-io/ethers.js): the complete API as seen in the [docs](https://docs.ethers.io)
99-
* [eth.js](https://github.com/ethjs): Simple JS modules for the Ethereum ecosystem
100242

101-
# Contributing and Contact
243+
<h1>Contact</h1>
102244

103-
Contributing to each of the projects is preferably done via pull requests. To start you can watch out for
104-
"help wanted" issues on the organization [GitHub page](https://github.com/ethereumjs/) or have a look for
105-
suitable issues on the various repos.
245+
The EthereumJS libraries are maintained and developed by the Ethereum Foundation JavaScript Team
246+
together with the wider Ethereum JavaScript developer community.
106247

107248
<div class="intro-text">
108249
You can reach out to us on
109-
<a href="https://gitter.im/ethereum/ethereumjs-lib">Gitter</a> or
110-
<a href="https://webchat.freenode.net/?channels=ethereumjs">#ethereumjs</a> on freenode.
250+
<a href="https://discord.gg/TNwARpR">Discord</a>,
251+
<a href="https://github.com/ethereumjs">GitHub</a> or
252+
<a href="https://twitter.com/EFJavaScript">Twitter</a>.
111253
</div>
112254

113255
<p class="attribution">

0 commit comments

Comments
 (0)