bool VerifyChecksum(const data_chunk& data) { if (data.size() < 4) return false; uint32_t checksum = from_little_endian<uint32_t>(data.end() - 4); return BitcoinChecksum((uint8_t*)&data[0], data.size()-4) == checksum; };
void AppendChecksum(std::vector<uint8_t>& data) { uint32_t checksum = BitcoinChecksum(&data[0], data.size()); std::vector<uint8_t> tmp(4); memcpy(&tmp[0], &checksum, 4); data.insert(data.end(), tmp.begin(), tmp.end()); };
bool VerifyChecksum(const std::vector<uint8_t>& data) { if (data.size() < 4) return false; uint32_t checksum; memcpy(&checksum, &(*(data.end() - 4)), 4); return BitcoinChecksum((uint8_t*)&data[0], data.size()-4) == checksum; };
void AppendChecksum(data_chunk& data) { uint32_t checksum = BitcoinChecksum(&data[0], data.size()); // -- to_little_endian std::vector<uint8_t> tmp(4); //memcpy(&tmp[0], &checksum, 4); for (int i = 0; i < 4; ++i) { tmp[i] = checksum & 0xFF; checksum >>= 8; }; data.insert(data.end(), tmp.begin(), tmp.end()); };