/ethereumjs-monorepo

Monorepo for the Ethereum VM TypeScript Implementation

Primary LanguageTypeScript

EthereumJS Monorepo

Code Coverage Discord

Packages

Below you can find a list of the packages included in this repository.

package npm issues tests coverage
@ethereumjs/block NPM Package Block Issues Actions Status Code Coverage
@ethereumjs/blockchain NPM Package Blockchain Issues Actions Status Code Coverage
@ethereumjs/client NPM Package Client Issues Actions Status Code Coverage
@ethereumjs/common NPM Package Common Issues Actions Status Code Coverage
@ethereumjs/devp2p NPM Package Devp2p Issues Actions Status Code Coverage
@ethereumjs/ethash NPM Package Ethash Issues Actions Status Code Coverage
@ethereumjs/evm NPM Package EVM Issues Actions Status Code Coverage
@ethereumjs/statemanager NPM Package StateManager Issues Actions Status Code Coverage
@ethereumjs/trie NPM Package Trie Issues Actions Status Code Coverage
@ethereumjs/tx NPM Package Tx Issues Actions Status Code Coverage
@ethereumjs/util NPM Package Util Issues Actions Status Code Coverage
@ethereumjs/vm NPM Package VM Issues Actions Status Code Coverage
rlp NPM Package rlp Issues Actions Status Code Coverage

Branches

The following are our currently active branches:

Branch Release Series Status  Description
master v6 Beta  Main working branch, current v6 work merged in (2022-06-08)
v5-maintenance v5 Active Maintenance for v5 releases

Please open PRs towards one of the active branches.

To inspect code related to a specific package version, refer to the tags.

Coverage report

Detailed version can be seen on Codecov.io

Code Coverage

Package dependency relationship

 graph TD
   vm{vm}
   client{client}
   ethash --> blockchain
   ethash --> client
   devp2p --> client
   block --> blockchain
   block --> client
   block --> ethash
   block --> vm
   blockchain --> client
   blockchain --> vm
   trie --> client
   trie --> vm
   trie --> block
   trie --> blockchain
   trie --> statemanager
   common --> block
   common --> blockchain
   common --> evm
   common --> statemanager
   common --> tx
   common --> vm
   common --> client
   common --> devp2p
   evm --> vm
   evm --> client
   tx --> block
   tx --> vm
   vm --> client
   statemanager --> vm

To update the diagram above edit the README file and open a new PR with the changes.

Getting Started

See our monorepo documentation to get started on setting up the repository and installing dependencies. The config folder gives an overview on shared configuration and scripts between packages.

EthereumJS

See our organizational documentation for an introduction to EthereumJS as well as information on current standards and best practices.

If you want to join for work or do improvements on the libraries have a look at our contribution guidelines.

LICENSE

Most packages are MPL-2.0 licensed, see package folder for the respective license.