SYNOPSIS
or #ethereumjs on freenode
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.
INSTALL
npm install ethereumjs-account
BROWSER
This module work with browserify
API
new Account([data])
Creates an new account object
data
- an account can be initiailized with either a buffer
containing the RLP serialized account.
Or an array
of buffers relating to each of the tx Properties, listed in order below. For example.
var raw = [
'02',
'0384',
'56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421',
'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'
];
var tx = new Account(raw);
Or lastly an Object
containing the Properties of the transaction
var raw = {
nonce: '',
balance: '03e7',
stateRoot: '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421',
codeHash: 'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'
};
var tx = new Account(raw);
For Object
and Arrays
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 wiestateRoot
- the stateRoot for the storage of the contractcodeHash
- the hash of the code of the contract
Account
Methods
Account.isEmpty()
Returns a Boolean
determining if the account is empty
account.isContract()
Returns a Boolean
deteremining if the account is a contract
account.serialize()
Returns the RLP serialization of the account as a Buffer
acount.toJSON([object])
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 to storing the accountscb
- the callback
account.setCode(trie, code, cb)
Stores the code in the trie
trie
- the triecode
- 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