Versions in this module Expand all Collapse all v0 v0.5.0 Jun 14, 2021 Changes in this version + func DBExists() bool + func NewBlock(merkle *MerkleBuilder, priori primitives.Hash, height int, ...) *primitives.Block + func NewBlockHeader(priori primitives.Hash, root primitives.Hash, weave []byte) *primitives.BlockHeader + func NewCoinbaseTransaction(to primitives.Address) *primitives.Transaction + func NewTransaction(from, to primitives.Address, amount int, chain *BlockChain) *primitives.Transaction + func NewTxOutput(value int, address primitives.Address) *primitives.TXO + type BlockChain struct + ChainHead primitives.Hash + ChainHeight int + DB *DatabaseClient + func AnimateBlockChain() (*BlockChain, error) + func SeedBlockChain(address primitives.Address) (*BlockChain, error) + func (chain *BlockChain) AccumulateUTX0S() map[string]primitives.TXOList + func (chain *BlockChain) AddBlock(blocktxns []*primitives.Transaction, addr primitives.Address) *primitives.Block + func (chain *BlockChain) CollectSpendableUTXOS(publickeyhash []byte, amount int) (int, map[string][]int) + func (chain *BlockChain) CountUTXOS() int + func (chain *BlockChain) FetchUTXOS(publickeyhash []byte) primitives.TXOList + func (chain *BlockChain) FindTransaction(txnid []byte) (primitives.Transaction, error) + func (chain *BlockChain) ReindexUTXOS() + func (chain *BlockChain) SignTransaction(txn *primitives.Transaction, privatekey ecdsa.PrivateKey) + func (chain *BlockChain) UpdateUTXOS(block *primitives.Block) + func (chain *BlockChain) VerifyTransaction(txn *primitives.Transaction, privatekey ecdsa.PrivateKey) bool + type BlockChainIterator struct + Cursor []byte + Database *DatabaseClient + func NewIterator(chain *BlockChain) *BlockChainIterator + func (iter *BlockChainIterator) Next() *primitives.Block + type DatabaseClient struct + Client *badger.DB + IsOpen bool + func NewDatabaseClient() *DatabaseClient + func (db *DatabaseClient) Close() + func (db *DatabaseClient) CloseOnDeath() + func (db *DatabaseClient) DeleteKeyPrefix(prefix []byte) + func (db *DatabaseClient) Open(opts badger.Options) + type MerkleBuilder struct + BuildGroup sync.WaitGroup + BuildQueue chan *primitives.Transaction + Count int + MerkleRoot primitives.Hash + Transactions []*primitives.Transaction + func NewMerkleBuilder() *MerkleBuilder + func (mb *MerkleBuilder) Build() + func (mb *MerkleBuilder) BuildWithTransactions(txns []*primitives.Transaction) + type MerkleNode struct + Data primitives.Hash + Left primitives.Hash + Right primitives.Hash + func NewMerkleNode(leftdata, rightdata []byte, isbase bool) *MerkleNode