npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@ethereumjs/tx

v5.4.0

Published

Implementation of the various Ethereum Transaction Types

Downloads

2,668,145

Readme

EthereumJS Monorepo

Code Coverage Discord GitPOAP

This repository holds various protocol building blocks of the Ethereum blockchain execution layer and is managed by the Ethereum Foundation JavaScript team. There is a TypeScript implementation of the Ethereum Virtual Machine (EVM) ready to be used in Node.js or a browser environment, implementations of core structural blockchain building blocks like an Ethereum Tx, Block or Blockchain as well as a MPT (Merkle Patricia Tree) and devp2p (execution networking layer) implementation.

All libraries are bound together by the core Common library keeping track of chain specifics and hardfork changes. They are complemented by helper packages like RLP for data encoding/decoding or Util, providing helper functionalities like (byte) conversion, signatures, types and others.

Finally, the EthereumJS Execution Client (EthereumJS) has been in active development for some time now. It already serves a variety of purposes like testing, research (e.g. EIPs) and developer tooling to engage with the protocol.

Also to note: on the Ethereum Consensus side, the ChainSafe Lodestar repository complements this repository with an Ethereum Consensus Client implementation as well as various protocol implementations (like an SSZ library) developed in the context of Ethereum Consensus layer evolution.

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/genesis | NPM Package | Genesis Issues | Actions Status | Code Coverage | | @ethereumjs/rlp | NPM Package | rlp Issues | Actions Status | Code Coverage | | @ethereumjs/statemanager | NPM Package | StateManager Issues | Actions Status | Code Coverage | | @ethereumjs/mpt | NPM Package | MPT 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/verkle | NPM Package | VM Issues | Actions Status | Code Coverage | | @ethereumjs/vm | NPM Package | VM Issues | Actions Status | Code Coverage | | @ethereumjs/wallet | NPM Package | StateManager Issues | Actions Status | Code Coverage |

Branches

The following are our currently active branches:

| Branch | Release Series | Status |  Description | | --------------------------------------------------------------------------------------- | ---------------------- | ------------- | ---------------------------------------------- | | master | Upcoming (Autumn 2024) | Develop | Breaking release work | | maintenance-v8 | v7/v8 | Maintenance | Maintenance for v8 releases (v7 also included) | | maintenance-v6 | v6 | Maintenance | Maintenance for v6 releases |

Breaking releases are mostly done in sync for all libraries (latest exceptions: VM v8, EVM v3), and release cycles are currently named after the @ethereumjs/vm version. In most cases PRs should be opened towards the current working branch. If there is no current working branch, please ask! 🙂

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 --> client
   block --> blockchain
   block --> ethash
   block --> vm
   blockchain --> client
   mpt --> client
   mpt --> vm
   mpt --> blockchain
   mpt --> block
   mpt --> statemanager
   util --> common
   common --> block
   common --> statemanager
   common --> tx
   common --> blockchain
   common --> vm
   common --> evm
   common --> client
   common --> devp2p
   common --> genesis
   evm --> vm
   evm --> client
   genesis --> client
   genesis --> statemanager
   genesis --> mpt
   tx --> block
   tx --> vm
   tx --> client
   vm --> client
   rlp --> util
   statemanager --> evm
   statemanager --> vm
   statemanager --> client

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 carry out improvements on the libraries, please review our contribution guidelines first.

License

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