|
1 | 1 |
|
2 | 2 | <div class="intro-text">
|
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. |
| 3 | + The <b>JavaScript team</b> is a team within the <a href="https://ethereum.foundation/">Ethereum Foundation</a>. |
| 4 | + See the <a href="https://github.com/ethereumjs/"><b>EthereumJS</b></a> GitHub as a main entrypoint to our code or reach out to us directly on <a href="https://github.com/ethereumjs/"><b>Discord</b></a>. |
4 | 5 | </div>
|
5 | 6 |
|
6 |
| -<div class="intro-text"> |
7 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo">https://github.com/ethereumjs/ethereumjs-monorepo</a> |
8 |
| - {% include repository_small.html name="ethereumjs-monorepo" %} |
9 |
| -</div> |
10 |
| - |
11 |
| -<div class="intro-text"> |
12 |
| - <img src="/assets/images/img1.png" alt="EthereumJS GitHub"> |
13 |
| -</div> |
| 7 | + |
14 | 8 |
|
15 |
| -<h1>Projects</h1> |
| 9 | +<h1>Who we are?</h1> |
16 | 10 |
|
17 | 11 | <div class="repo-group">
|
18 |
| - <h3><i class="fa fa-cogs"></i> VIRTUAL MACHINE (EVM)</h3> |
19 |
| - <p>Implementation of the Ethereum Virtual Machine in TypeScript supporting |
20 |
| - all hardforks and allowing for easy integration of the EVM in web applications.</p> |
| 12 | + <p>We are currently a team of 7 - see <a href="https://x.com/0xstark/status/1922642395654394082" target="_blank">org chart</a> aside - doing both "everyday" Ethereum Layer 1 coding as well as EIP research and specification work.</p> |
| 13 | + |
| 14 | + <p>Due to the nature of our work, our team is placed very much at the crossroads of developer tooling and the Ethereum Layer 1 protocol. If this resonates with you and you look for an exchange or cooperation, please reach out!</p> |
21 | 15 | </div>
|
22 | 16 |
|
23 | 17 | <div class="repo-group">
|
24 | 18 | <div class="repo-box">
|
25 |
| - <div class="repo-header"> |
26 |
| - <div class="repo-header-right"> |
27 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm" alt="GitHub URL"> |
28 |
| - <i class="fa fa-github"></i> |
29 |
| - </a> |
30 |
| - </div> |
31 |
| - @ethereumjs/vm |
32 |
| - </div> |
33 |
| - <div class="repo-description"> |
34 |
| - <ul> |
35 |
| - <li>All hardforks until Pectra</li> |
36 |
| - <li>Preliminary Cancun support (incl. EIP-4844)</li> |
37 |
| - <li>Basic tracing and debug support</li> |
38 |
| - <li>Flexible EIP on/off engine</li> |
39 |
| - <li>Modular EVM core</li> |
40 |
| - </ul> |
41 |
| - </div> |
42 |
| -</div> |
| 19 | + <img src="/assets/images/ef_org.jpg" alt="Ethereum Foundation - Org Chart"> |
| 20 | + </div> |
43 | 21 | </div>
|
44 | 22 |
|
45 | 23 | <div class="separator"></div>
|
46 | 24 |
|
47 |
| -<div class="repo-group"> |
48 |
| - <h3><i class="fa fa-cogs"></i> Execution Layer Client</h3> |
49 |
| - <p>Execution Layer client similar to Go-Ethereum or Nethermind in TypeScript with support for |
50 |
| - full sync and most of the JSON RPC endpoints.</p> |
51 |
| -</div> |
| 25 | +<h1>What we do?</h1> |
52 | 26 |
|
53 | 27 | <div class="repo-group">
|
54 |
| - <div class="repo-box"> |
55 |
| - <div class="repo-header"> |
56 |
| - <div class="repo-header-right"> |
57 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client" alt="GitHub URL"> |
58 |
| - <i class="fa fa-github"></i> |
59 |
| - </a> |
60 |
| - </div> |
61 |
| - @ethereumjs/client |
62 |
| - </div> |
63 |
| - <div class="repo-description"> |
64 |
| - <ul> |
65 |
| - <li>Full sync support</li> |
66 |
| - <li>Engine API</li> |
67 |
| - <li>JSON-RPC via HTTP or Websocket</li> |
68 |
| - <li>Syncs small and mid-size test networks</li> |
69 |
| - <li>Used for protocol development (EIP-4844)</li> |
70 |
| - </ul> |
71 |
| - </div> |
72 |
| -</div> |
73 |
| -</div> |
74 |
| - |
75 |
| -<div class="separator"></div> |
76 |
| - |
77 |
| -<div class="repo-group"> |
78 |
| - <h3><i class="fa fa-cogs"></i> Ultralight</h3> |
79 |
| - <p>Portal Network client implementation in TypeScript (in Development).</p> |
| 28 | + <h3>Pectra-Ready Protocol Stack</h3> |
| 29 | + <p>We provide an up-to-date Ethereum Layer 1 protocol implementation for the TypeScript |
| 30 | + and browser community. This includes a Pectra-ready EVM but also other secure and |
| 31 | + browser-ready libraries for dApps, tools and websites. Main code entrypoint here is the EthereumJS |
| 32 | + <a href="https://github.com/ethereumjs/ethereumjs-monorepo">monorepo</a>. |
| 33 | + </p> |
80 | 34 | </div>
|
81 | 35 |
|
82 | 36 | <div class="repo-group">
|
83 | 37 | <div class="repo-box">
|
84 |
| - <div class="repo-header"> |
85 |
| - <div class="repo-header-right"> |
86 |
| - <a href="https://github.com/ethereumjs/ultralight" alt="GitHub URL"> |
87 |
| - <i class="fa fa-github"></i> |
88 |
| - </a> |
89 |
| - </div> |
90 |
| - Ultralight |
91 |
| - </div> |
92 |
| - <div class="repo-description"> |
93 |
| - <ul> |
94 |
| - <li>History Network Support</li> |
95 |
| - <li>State Network (in development)</li> |
96 |
| - <li>Beacon Chain Network (in development)</li> |
97 |
| - </ul> |
98 |
| - </div> |
99 |
| -</div> |
| 38 | + <img src="/assets/images/evm_example.png" alt="TypeScript EVM - Code Example"> |
| 39 | + </div> |
100 | 40 | </div>
|
101 | 41 |
|
102 | 42 | <div class="separator"></div>
|
103 | 43 |
|
104 | 44 | <div class="repo-group">
|
105 |
| - <h3><i class="fa fa-cube"></i> Blockchain</h3> |
106 |
| - <p>Core building blocks for an Ethereum blockchain including a transaction library supporting all existing |
107 |
| - transaction types.</p> |
| 45 | + <h3>Protocol R&D</h3> |
| 46 | + <p>We do various early-on EIP code integrations, see e.g. <a href="https://github.com/ethereumjs/ethereumjs-monorepo/pull/3976">PeerDAS</a>, <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree">Binary Tree</a> or native <a href="https://github.com/ethereumjs/ethereumjs-monorepo/pull/3849">SSZ</a> as examples. Along the way we engage in research calls and help with spec refinements on the EIP GitHub like <a href="https://github.com/ethereum/EIPs/pull/9460">here</a> and do coverage work and contribute test cases to the execution-spec-tests GitHub like <a href="https://github.com/ethereum/execution-spec-tests/pull/1371">here</a>. Our EthereumJS <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client" alt="GitHub URL">research client</a> is an important enabler for this work. |
| 47 | + </p> |
108 | 48 | </div>
|
109 | 49 |
|
110 | 50 | <div class="repo-group">
|
111 | 51 | <div class="repo-box">
|
112 |
| - <div class="repo-header"> |
113 |
| - <div class="repo-header-right"> |
114 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/tx" alt="GitHub URL"> |
115 |
| - <i class="fa fa-github"></i> |
116 |
| - </a> |
117 |
| - </div> |
118 |
| - @ethereumjs/tx |
119 |
| - </div> |
120 |
| - <div class="repo-description"> |
121 |
| - Implementation of the various transaction types. |
122 |
| - </div> |
123 |
| - </div> |
124 |
| - |
125 |
| - <div class="repo-box"> |
126 |
| - <div class="repo-header"> |
127 |
| - <div class="repo-header-right"> |
128 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block" alt="GitHub URL"> |
129 |
| - <i class="fa fa-github"></i> |
130 |
| - </a> |
131 |
| - </div> |
132 |
| - @ethereumjs/block |
133 |
| - </div> |
134 |
| - <div class="repo-description"> |
135 |
| - Block representations for all hardforks. |
136 |
| - </div> |
137 |
| - </div> |
138 |
| - |
139 |
| - <div class="repo-box"> |
140 |
| - <div class="repo-header"> |
141 |
| - <div class="repo-header-right"> |
142 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain" alt="GitHub URL"> |
143 |
| - <i class="fa fa-github"></i> |
144 |
| - </a> |
145 |
| - </div> |
146 |
| - @ethereumjs/blockchain |
147 |
| - </div> |
148 |
| - <div class="repo-description"> |
149 |
| - Ethereum mainnet-compatible blockchain. |
150 |
| - </div> |
| 52 | + <img src="/assets/images/debug.png" alt="TypeScript EVM - Code Debugging"> |
151 | 53 | </div>
|
152 |
| - |
153 | 54 | </div>
|
154 | 55 |
|
155 | 56 | <div class="separator"></div>
|
156 | 57 |
|
157 | 58 | <div class="repo-group">
|
158 |
| - <h3><i class="fa fa-cogs"></i> Protocol</h3> |
159 |
| - <p>Implementations of protocol components and data structures.</p> |
160 |
| -</div> |
| 59 | + <h3>Portal Network</h3> |
161 | 60 |
|
162 |
| -<div class="repo-group"> |
163 |
| - <div class="repo-box"> |
164 |
| - <div class="repo-header"> |
165 |
| - <div class="repo-header-right"> |
166 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/trie" alt="GitHub URL"> |
167 |
| - <i class="fa fa-github"></i> |
168 |
| - </a> |
169 |
| - </div> |
170 |
| - @ethereumjs/trie |
171 |
| - </div> |
172 |
| - <div class="repo-description"> |
173 |
| - Implementation of a Merkle Patricia Tree. |
174 |
| - </div> |
175 |
| - </div> |
176 |
| - |
177 |
| - <div class="repo-box"> |
178 |
| - <div class="repo-header"> |
179 |
| - <div class="repo-header-right"> |
180 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/rlp" alt="GitHub URL"> |
181 |
| - <i class="fa fa-github"></i> |
182 |
| - </a> |
183 |
| - </div> |
184 |
| - @ethereumjs/rlp |
185 |
| - </div> |
186 |
| - <div class="repo-description"> |
187 |
| - RLP encoding and decoding. |
188 |
| - </div> |
189 |
| - </div> |
| 61 | + <p>Beside we have our own TypeScript implementation - called <a href="https://github.com/ethereumjs/ultralight">Ultralight</a> - for the <a href="https://github.com/ethereum/portal-network-specs">Portal Network</a>, which now gets its first production usage as a decentralized distributing system for historical block data to enable EIP-4444 history data expiry. We will continue to actively contribute to specification and testing for upcoming network types like the Portal state network. |
| 62 | + </p> |
| 63 | +</div> |
190 | 64 |
|
191 |
| - <div class="repo-box"> |
192 |
| - <div class="repo-header"> |
193 |
| - <div class="repo-header-right"> |
194 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/util" alt="GitHub URL"> |
195 |
| - <i class="fa fa-github"></i> |
196 |
| - </a> |
197 |
| - </div> |
198 |
| - @ethereumjs/util |
199 |
| - </div> |
200 |
| - <div class="repo-description"> |
201 |
| - Utilities for 4844, bytes, signatures, withdrawals, addresses and other. |
202 |
| - </div> |
203 |
| - </div> |
204 | 65 |
|
| 66 | +<div class="repo-group"> |
205 | 67 | <div class="repo-box">
|
206 |
| - <div class="repo-header"> |
207 |
| - <div class="repo-header-right"> |
208 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/wallet" alt="GitHub URL"> |
209 |
| - <i class="fa fa-github"></i> |
210 |
| - </a> |
211 |
| - </div> |
212 |
| - @ethereumjs/wallet |
213 |
| - </div> |
214 |
| - <div class="repo-description"> |
215 |
| - Wallet implementation with key management and various import formats. |
216 |
| - </div> |
| 68 | + <img src="/assets/images/ultralight_github.png" alt="Ultralight - Ethereum Portal Network Client (GitHub)"> |
217 | 69 | </div>
|
218 | 70 | </div>
|
219 | 71 |
|
220 | 72 | <div class="separator"></div>
|
221 | 73 |
|
222 |
| - |
223 | 74 | <div class="repo-group">
|
224 |
| - <h3><i class="fa fa-globe"></i> Network</h3> |
225 |
| - <p>Implementation of the Ethereum network communication layer.</p> |
| 75 | + <h3>Dedicated Stateless Reserach</h3> |
| 76 | + |
| 77 | + <p>We are engaged into research around statelessness for some time now and joined early Verkle/Stateless |
| 78 | + <a href="https://github.com/ethpandaops/verkle-devnets">test networks</a> and contributed to both testing and research. We did both <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/verkle">Verkle</a> and |
| 79 | + <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree">Binary Tree</a> TypeScript implementations and made our client ready for stateless execution.</p> |
226 | 80 | </div>
|
227 | 81 |
|
228 | 82 | <div class="repo-group">
|
229 | 83 | <div class="repo-box">
|
230 |
| - <div class="repo-header"> |
231 |
| - <div class="repo-header-right"> |
232 |
| - <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/devp2p" alt="GitHub URL"> |
233 |
| - <i class="fa fa-github"></i> |
234 |
| - </a> |
235 |
| - </div> |
236 |
| - @ethereumjs/devp2p |
237 |
| - </div> |
238 |
| - <div class="repo-description"> |
239 |
| - Devp2p implementation with support for Discovery (DPT), RLPx transport, ETH protocol, LES and SNAP. |
240 |
| - </div> |
241 |
| -</div> |
| 84 | + <img src="/assets/images/verkle_testnet.png" alt="Verkle Testnet Devnet 7 - Test Monitor"> |
| 85 | + </div> |
242 | 86 | </div>
|
243 | 87 |
|
244 | 88 | <div class="separator"></div>
|
245 | 89 |
|
246 |
| - |
247 | 90 | <h1>Contact</h1>
|
248 | 91 |
|
249 |
| -The EthereumJS libraries are maintained and developed by the Ethereum Foundation JavaScript Team |
250 |
| -together with the wider Ethereum JavaScript developer community. |
| 92 | +Feel inspired? Again, get in touch! |
251 | 93 |
|
252 | 94 | <div class="intro-text">
|
253 | 95 | You can reach out to us on
|
|
0 commit comments