Set up an SPV client.
        If the locally-stored headers do not exist, then 
        create a stub headers file with the genesis block information.

def init(cls, path):
        """
        Set up an SPV client.
        If the locally-stored headers do not exist, then 
        create a stub headers file with the genesis block information.
        """
        if not os.path.exists( path ):

            block_header_serializer = BlockHeaderSerializer()
            genesis_block_header = BlockHeader()

            if USE_MAINNET:
                # we know the mainnet block header
                # but we don't know the testnet/regtest block header
                genesis_block_header.version = 1
                genesis_block_header.prev_block = 0
                genesis_block_header.merkle_root = int(GENESIS_BLOCK_MERKLE_ROOT, 16 )
                genesis_block_header.timestamp = 1231006505
                genesis_block_header.bits = int( "1d00ffff", 16 )
                genesis_block_header.nonce = 2083236893
                genesis_block_header.txns_count = 0

                with open(path, "wb") as f:
                    bin_data = block_header_serializer.serialize( genesis_block_header )
                    f.write( bin_data )