@ethereumjs/statemanager
An Ethereum statemanager implementation
Last updated 2 years ago by holgerd77 .
MPL-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ npm install @ethereumjs/statemanager 
SYNC missed versions from official npm registry.

@ethereumjs/statemanager

NPM Package GitHub Issues Actions Status Code Coverage Discord

TypeScript implementation of the Ethereum StateManager.

INSTALL

npm install @ethereumjs/statemanager

Note: this library was part of the @ethereumjs/vm package up till VM v5.

USAGE

Introduction

The StateManager provides high-level access and manipulation methods to and for the Ethereum state, thinking in terms of accounts or contract code rather then the storage operations of the underlying data structure (e.g. a Trie).

The library includes a TypeScript interface StateManager to ensure a unified interface (e.g. when passed to the VM) as well as a concrete Trie-based implementation DefaultStateManager.

Example

import { Account, Address } from '@ethereumjs/util'
import { DefaultStateManager } from '@ethereumjs/statemanager'

const stateManager = new DefaultStateManager()
const address = new Address(Buffer.from('a94f5374fce5edbc8e2a8697c15331677e6ebf0b', 'hex'))
const account = new Account(BigInt(0), BigInt(1000))
await stateManager.checkpoint()
await stateManager.putAccount(address, account)
await stateManager.commit()
await stateManager.flush()

API

Docs

Generated TypeDoc API Documentation

BigInt Support

Starting with v1 the usage of BN.js for big numbers has been removed from the library and replaced with the usage of the native JS BigInt data type (introduced in ES2020).

Please note that number-related API signatures have changed along with this version update and the minimal build target has been updated to ES2020.

DEVELOPMENT

Developer documentation - currently mainly with information on testing and debugging - can be found here.

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

MPL-2.0

Current Tags

  • 3.0.0-alpha.1                                ...           alpha (2 months ago)
  • 1.0.0-beta.3                                ...           beta (2 years ago)
  • 2.4.0                                ...           latest (4 months ago)
  • 2.0.0-rc.1                                ...           rc (a year ago)

20 Versions

  • 3.0.0-alpha.1                                ...           2 months ago
  • 2.4.0                                ...           4 months ago
  • 2.3.0                                ...           9 months ago
  • 2.2.2                                ...           a year ago
  • 2.2.1                                ...           a year ago
  • 2.2.0                                ...           a year ago
  • 2.1.0                                ...           a year ago
  • 2.0.0                                ...           a year ago
  • 2.0.0-rc.1                                ...           a year ago
  • 1.1.0                                ...           2 years ago
  • 1.0.5                                ...           2 years ago
  • 1.0.4                                ...           2 years ago
  • 1.0.3                                ...           2 years ago
  • 1.0.2                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
  • 1.0.0-rc.1                                ...           2 years ago
  • 1.0.0-beta.3                                ...           2 years ago
  • 1.0.0-beta.2                                ...           2 years ago
  • 1.0.0-beta.1                                ...           2 years ago
Downloads
Total 1
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (7)
Dev Dependencies (15)

© 2010 - cnpmjs.org x YWFE | Home | YWFE