Ejemplo n.º 1
0
BinaryData BlockHeaderRef::serializeWholeBlock(bool withLead8Bytes) const
{
   BinaryWriter serializedBlock;
   uint32_t blksize = getBlockSize();
   if(withLead8Bytes)
   {
      serializedBlock.reserve(blksize + 8);
      serializedBlock.put_BinaryData(BtcUtils::MagicBytes_);
      serializedBlock.put_uint32_t(blksize);
   }
   else
      serializedBlock.reserve(blksize);

   serializedBlock.put_BinaryData(self_);
   serializedBlock.put_var_int(getNumTx());
   for(uint32_t i=0; i<getNumTx(); i++)
      serializedBlock.put_BinaryData(txPtrList_[i]->serialize());

   return serializedBlock.getData();
   
}