for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace BitWasp\Bitcoin\Networking\Messages;
use BitWasp\Bitcoin\Block\FilteredBlock;
use BitWasp\Bitcoin\Networking\Message;
use BitWasp\Bitcoin\Networking\NetworkSerializable;
use BitWasp\Bitcoin\Networking\Serializer\Message\MerkleBlockSerializer;
use BitWasp\Bitcoin\Serializer\Block\BlockHeaderSerializer;
use BitWasp\Bitcoin\Serializer\Block\FilteredBlockSerializer;
use BitWasp\Bitcoin\Serializer\Block\PartialMerkleTreeSerializer;
use BitWasp\Buffertools\BufferInterface;
class MerkleBlock extends NetworkSerializable
{
/**
* @var FilteredBlock
*/
private $merkle;
* @param FilteredBlock $merkleBlock
public function __construct(FilteredBlock $merkleBlock)
$this->merkle = $merkleBlock;
}
* @return string
* @@see https://en.bitcoin.it/wiki/Protocol_documentation#filterload.2C_filteradd.2C_filterclear.2C_merkleblock
public function getNetworkCommand(): string
return Message::MERKLEBLOCK;
* @return FilteredBlock
public function getFilteredBlock(): FilteredBlock
return $this->merkle;
* @return BufferInterface
public function getBuffer(): BufferInterface
return (new MerkleBlockSerializer(new FilteredBlockSerializer(new BlockHeaderSerializer(), new PartialMerkleTreeSerializer())))->serialize($this);