class BlockHeader implements ProtoObject<Proto.Block.Header> {

    public BlockHeader(byte[] bytes) {
        this(toProto(bytes));
    }

    public  BlockHeader(byte[] bytes);
    public  BlockHeader(Proto.Block.Header protoBlockHeader);
    public  BlockHeader(
            byte[] chain,
            byte[] version,
            byte[] type,
            byte[] prevBlockHash,
            long index,
            long timestamp,
            byte[] merkleRoot,
            byte[] stateRoot,
            long bodyLength);
    public  BlockHeader(
            byte[] chain,
            byte[] version,
            byte[] type,
            byte[] prevBlockHash,
            long index,
            long timestamp,
            byte[] stateRoot,
            BlockBody blockBody);
    public  BlockHeader(JsonObject jsonObject);

}