|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.bitcoin.core.StoredBlock
public class StoredBlock
Wraps a Block
object with extra data that can be derived from the block chain but is slow or inconvenient to
calculate. By storing it alongside the block header we reduce the amount of work required significantly.
Recalculation is slow because the fields are cumulative - to find the chainWork you have to iterate over every
block in the chain back to the genesis block, which involves lots of seeking/loading etc. So we just keep a
running total: it's a disk space vs cpu/io tradeoff.
StoredBlocks are put inside a BlockStore
which saves them to memory or disk.
Constructor Summary | |
---|---|
StoredBlock(Block header,
BigInteger chainWork,
int height)
|
Method Summary | |
---|---|
StoredBlock |
build(Block block)
Creates a new StoredBlock, calculating the additional fields by adding to the values in this block. |
boolean |
equals(Object other)
|
BigInteger |
getChainWork()
The total sum of work done in this block, and all the blocks below it in the chain. |
Block |
getHeader()
The block header this object wraps. |
int |
getHeight()
Position in the chain for this block. |
StoredBlock |
getPrev(BlockStore store)
Given a block store, looks up the previous block in this chain. |
int |
hashCode()
|
boolean |
moreWorkThan(StoredBlock other)
Returns true if this objects chainWork is higher than the others. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public StoredBlock(Block header, BigInteger chainWork, int height)
Method Detail |
---|
public Block getHeader()
public BigInteger getChainWork()
public int getHeight()
public boolean moreWorkThan(StoredBlock other)
public boolean equals(Object other)
equals
in class Object
public int hashCode()
hashCode
in class Object
public StoredBlock build(Block block) throws VerificationException
VerificationException
public StoredBlock getPrev(BlockStore store) throws BlockStoreException
BlockStoreException
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |