BtcExplorer/Models/Block.cpp
2021-05-06 16:58:11 +03:00

32 lines
728 B
C++

#include "Block.h"
#include "VarInt.h"
Block::Block(const std::byte* pBlock, size_t size): _header{} {
_size = size;
_header = *((BlockHeader*)pBlock);
VarInt txCount(pBlock + sizeof(BlockHeader));
auto pTxData = pBlock + sizeof(BlockHeader) + txCount.size();
for(size_t i = 0; i < txCount.value(); ++i) {
Transaction transaction(pTxData);
_transactions.push_back(transaction);
pTxData += transaction.size();
}
}
uint32_t Block::version() const {
return _header.version;
}
uint32_t Block::time() const {
return _header.time;
}
const std::vector<Transaction>& Block::transactions() const {
return _transactions;
}
size_t Block::size() const {
return _size;
}