Encoding, decoding and validation of Vapory's Account schema

Usage no npm install needed!

<script type="module">
  import vaporyjsAccount from '';



js-standard-style Gitter or #vaporyjs on freenode

Implements schema and functions relating to accounts stored vapory's state Trie
NOTE: this is different from vaporyjs-accounts which should be used if you want to key management and web3 sugar.


npm install vaporyjs-account


This module work with browserify


new Account([data])

Creates a new account object

  • data - an account can be initialized with either a buffer containing the RLP serialized account. Or an Array of buffers relating to each of the account Properties, listed in order below. For example:
var raw = [ 
  '0x02', //nonce
  '0x0384', //balance
  '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', //stateRoot
  '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'  //codeHash

var account = new Account(raw);

Or lastly an Object containing the Properties of the account:

var raw = {
  nonce: '',
  balance: '0x03e7',
  stateRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421',
  codeHash: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'

var account = new Account(raw);

For Object and Array each of the elements can either be a Buffer, hex String, Number, or an object with a toBuffer method such as Bignum.

Account Properties

  • nonce - The account's nonce.
  • balance - The account's balance in wei.
  • stateRoot - The stateRoot for the storage of the contract.
  • codeHash - The hash of the code of the contract.

Account Methods


Returns a Boolean determining if the account is empty.


Returns a Boolean deteremining if the account is a contract.


Returns the RLP serialization of the account as a Buffer.


Returns the account as JSON.

  • object - A Boolean that defaults to false. If object is true then this will return an Object, else it will return an Array.

account.getCode(trie, cb)

Fetches the code from the trie.

  • trie - The trie storing the accounts.
  • cb - The callback.

account.setCode(trie, code, cb)

Stores the code in the trie.

  • trie - The trie storing the accounts.
  • code - A Buffer.
  • cb - The callback.

account.getStorage(trie, key, cb)

Fetches key from the account's storage.

account.setStorage(trie, key, val, cb)

Stores a val at the key in the contract's storage.