Implements schema and functions relating to accounts stored ethereum's state Trie
NOTE: this is different from ethereumjs-accounts which should be used if you want to key management and web3 sugar.
npm install ethereumjs-account
This module work with browserify
Creates a new account object
data
- an account can be initialized with either abuffer
containing the RLP serialized account. Or anArray
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
.
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.
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
- ABoolean
that defaults to false. Ifobject
is true then this will return anObject
, else it will return anArray
.
Fetches the code from the trie.
trie
- The trie storing the accounts.cb
- The callback.
Stores the code in the trie.
trie
- The trie storing the accounts.code
- ABuffer
.cb
- The callback.
Fetches key
from the account's storage.
Stores a val
at the key
in the contract's storage.