reorgs, fetch batching (parallel fetch), orphans
This commit is contained in:
@@ -40,5 +40,7 @@ bool Block_IsFullyValid(const block_t* block);
|
||||
void Block_ShutdownPowContext(void);
|
||||
void Block_Destroy(block_t* block);
|
||||
void Block_Print(const block_t* block);
|
||||
// Deep-copy a block (allocates a new `block_t*`). Caller must call `Block_Destroy`.
|
||||
block_t* Block_Copy(const block_t* src);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,6 +24,13 @@ size_t Chain_Size(blockchain_t* chain);
|
||||
bool Chain_IsValid(blockchain_t* chain);
|
||||
void Chain_Wipe(blockchain_t* chain);
|
||||
|
||||
// Roll back the chain to `height` (exclusive): after this call, Chain_Size(chain) == height
|
||||
// Returns true on success.
|
||||
bool Chain_RollbackToHeight(blockchain_t* chain, size_t height);
|
||||
|
||||
// Retrieve a deep copy of the block at `index`. Caller must free with `Block_Destroy`.
|
||||
bool Chain_GetBlockCopy(blockchain_t* chain, size_t index, block_t** outCopy);
|
||||
|
||||
// I/O
|
||||
bool Chain_SaveToFile(blockchain_t* chain, const char* dirpath, uint256_t currentSupply, uint64_t currentReward);
|
||||
bool Chain_LoadFromFile(blockchain_t* chain, const char* dirpath, uint256_t* outCurrentSupply, uint32_t* outDifficultyTarget, uint64_t* outCurrentReward, uint8_t* outLastSavedHash, bool loadTransactions);
|
||||
|
||||
Reference in New Issue
Block a user