0.2.0 • Published 8 years ago
moechain-chain v0.2.0
This Package(Moechain-chain) fork from ethereumjs-blockchain. It will be used by Moechain. I will change some only for Moechain
SYNOPSIS
A module to store and interact with blocks.
INSTALL
npm install Moechain-chain
API
Moechain-chain
A module to store and interact with blocks
Blockchain
Implements functions for retrieving, manipulating and storing Ethereum's blockchain
new Blockchain(opts)
Creates new Blockchain object
opts.blockDB- the database where Blocks are stored and retreived by hash. Should be a levelup instance.opts.detailsDB- the database where Block number resolutions and other metadata is stored. Should be a levelup instance.opts.validate- this the flag to validate blocks (e.g. Proof-of-Work).
BlockChain Properties
head- The Head, the block that has the most weightparentHead- The parent of the head blockgenesisHash- The hash of the genesis blockheight- The height of the blockchaintotallDifficulty- The totall difficulty which is the some of a the difficulty of all the prevous blocks
BlockChain methods
blockchain.putBlock(block, [callback])
Adds a block to the blockchain.
block- the block to be added to the blockchaincallback- the callback. It is given two parameterserrand the savedblock
blockchain.getBlock(blockTag, [callback])
Gets a block by its blockTag.
blockTag- the block's hash or numbercallback- the callback. It is given two parameterserrand the foundblockif any.
blockchain.getBlockInfo(hash, cb)
Retrieves meta infromation about the block and passed it to the callback
hash- the hash of the block as aBufferor a hexStringcb- the callback which is passed anObjectcontaining two proptiesparent, the hash of the this block's parents andchildrenanArrayof hashes of children blocks.
blockchain.getBlockHashes(parentHash, count, cb)
Gets a segment of the blockchain starting at the parent hash and contuning for count blocks returning an array of block hashes orders from oldest to youngest.
parentHash- the block to start from. Given as aBufferor a hexStringcount- aNumberspecifing how many block hashes to returncb- the callback which is give an array of block hashes
blockchain.getBlockChain(startingHashes, count, cb)
gets a section of the blockchain in a form of an array starting at the parent hash, up count blocks
startingHashes- an array of hashes or a single hash to start returning the chain from. The first hash in the array that is found in the blockchain will be used.count- the max number of blocks to returncallback- the callback. It is given two parameterserrandblockchain.erris any errors. If none of the starting hashes were founderrwill benotFound.blockchainis an array of blocks.
blockchain.selectNeededHashes(hashes, cb)
Given an ordered array, returns to the callback an array of hashes that are not in the blockchain yet.
hashes- anArrayhashescb- the callback