Skip to content
This repository has been archived by the owner on Apr 6, 2020. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.


NPM Package Actions Status Coverage Status Gitter or #ethereumjs on freenode


npm install ethereumjs-tx


const EthereumTx = require('ethereumjs-tx').Transaction
const privateKey = Buffer.from(

const txParams = {
  nonce: '0x00',
  gasPrice: '0x09184e72a000',
  gasLimit: '0x2710',
  to: '0x0000000000000000000000000000000000000000',
  value: '0x00',
  data: '0x7f7465737432000000000000000000000000000000000000000000000000000000600057',

// The second parameter is not necessary if these values are used
const tx = new EthereumTx(txParams, { chain: 'mainnet', hardfork: 'petersburg' })
const serializedTx = tx.serialize()

Chain and Hardfork Support

The Transaction and FakeTransaction constructors receives a second parameter that lets you specify the chain and hardfork to be used. By default, mainnet and petersburg will be used.

There are two ways of customizing these. The first one, as shown in the previous section, is by using an object with chain and hardfork names. You can see en example of this in ./examples/ropsten-tx.ts.

The second option is by passing the option common set to an instance of ethereumjs-common' Common. This is specially useful for custom networks or chains/hardforks not yet supported by ethereumjs-common. You can see en example of this in ./examples/custom-chain-tx.ts.

MuirGlacier Support

The MuirGlacier hardfork is supported by the library since the v2.1.2 release.

Istanbul Support

Support for reduced non-zero call data gas prices from the Istanbul hardfork (EIP-2028) has been added to the library along with the v2.1.1 release.

EIP-155 support

EIP-155 replay protection is activated since the spuriousDragon hardfork. To disable it, set the hardfork in the Transaction's constructor.




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.