Package com.bradyrussell.uiscoin.block
Class Block
java.lang.Object
com.bradyrussell.uiscoin.block.Block
- All Implemented Interfaces:
SerializableAsBinaryData,VerifiableWithBlockchain
public class Block extends java.lang.Object implements SerializableAsBinaryData, VerifiableWithBlockchain
-
Field Summary
Fields Modifier and Type Field Description BlockHeaderHeaderjava.util.ArrayList<Transaction>Transactions -
Constructor Summary
Constructors Constructor Description Block()Block(BlockHeader header)Block(BlockHeader header, java.util.ArrayList<Transaction> transactions) -
Method Summary
Modifier and Type Method Description BlockaddCoinbaseTransaction(Transaction transaction)BlockaddTransaction(Transaction transaction)static longcalculateBlockReward(int BlockHeight)byte[]calculateMerkleRoot()voiddebugVerify(BlockchainStorage blockchain)booleanequals(java.lang.Object o)byte[]getBinaryData()longgetFees(BlockchainStorage blockchain)byte[]getHash()Deprecated.intgetSize()static java.util.List<byte[]>merkleRootStep(java.util.List<byte[]> Nodes)intsetBinaryData(byte[] Data)BlocksetCoinbaseTransaction(Transaction transaction)booleanverify(BlockchainStorage blockchain)booleanverifyProofOfWork()booleanverifyTransactionsUnspent(BlockchainStorage blockchain)
-
Field Details
-
Constructor Details
-
Method Details
-
addTransaction
-
addCoinbaseTransaction
-
setCoinbaseTransaction
-
merkleRootStep
public static java.util.List<byte[]> merkleRootStep(java.util.List<byte[]> Nodes) -
calculateMerkleRoot
public byte[] calculateMerkleRoot() -
getBinaryData
public byte[] getBinaryData()- Specified by:
getBinaryDatain interfaceSerializableAsBinaryData
-
setBinaryData
public int setBinaryData(byte[] Data)- Specified by:
setBinaryDatain interfaceSerializableAsBinaryData
-
getSize
public int getSize()- Specified by:
getSizein interfaceSerializableAsBinaryData
-
getHash
@Deprecated public byte[] getHash()Deprecated.- Specified by:
getHashin interfaceSerializableAsBinaryData
-
debugVerify
public void debugVerify(BlockchainStorage blockchain) throws NoSuchTransactionException, NoSuchBlockException, InvalidBlockException -
verifyTransactionsUnspent
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
calculateBlockReward
public static long calculateBlockReward(int BlockHeight) -
verifyProofOfWork
public boolean verifyProofOfWork() -
getFees
public long getFees(BlockchainStorage blockchain) throws NoSuchTransactionException, NoSuchBlockException, InvalidBlockException -
verify
- Specified by:
verifyin interfaceVerifiableWithBlockchain
-