def command_line_main():
    parser = OptionParser()
    parser.add_option(
        "-W",
        "--wif",
        dest="output_format",
        action="store_const",
        const="W",
        help="output new key in wallet import format (WIF)",
        default="W",
    )
    parser.add_option("--rfc", dest="output_format", action="store_const", const="rfc")
    parser.add_option("-D", "--dice", dest="random_source", action="store_const", const="D", default="OS")
    parser.add_option("-H", "--hex", dest="random_source", action="store_const", const="H")

    (options, args) = parser.parse_args()

    signing_key = {
        "OS": lambda x: make_key_from_OS(),
        "D": make_key_from_dice_rolls_provided,
        "H": make_key_from_hex_strings,
    }[options.random_source](args)
    compressed_public_key = True

    private_key_display = {"W": lambda x: private_key_to_wif(x, compressed_public_key), "rfc": joined_words_for_bytes}
    print(private_key_display[options.output_format](signing_key.to_string()))
    print(get_bitcoin_address_from_signing_key(signing_key, compressed_public_key))
Ejemplo n.º 2
0
def command_line_main():
    parser = OptionParser()
    parser.add_option(
        "-W", "--wif",
        dest="input_format",
        action="store_const", const="W",
        help="input new key in wallet import format (WIF)",
        default='W',
        )
    parser.add_option(
        "--rfc",
        dest="input_format",
        action="store_const",
        const="rfc",
        )
    parser.add_option(
        "--xor-rfc1760",
        dest="input_format",
        action="store_const",
        const="xor-rfc1760",
        )

    (options, args) = parser.parse_args()
    private_key_convert = {
        'W': lambda a: wif_to_private_key_and_public_compressed(a[0]),
        'rfc': lambda a: (words_iter_to_32_bytes(a), True),
        'xor-rfc1760': xor_rfc1760_to_private_key,
        }

    private_key_bytes, compressed = \
        private_key_convert[options.input_format](args)
    print(private_key_to_wif(private_key_bytes, compressed))
    print(private_key_bytes_to_bitcoin_address(private_key_bytes, compressed))
Ejemplo n.º 3
0
def command_line_main():
    parser = OptionParser()
    parser.add_option(
        "-W",
        "--wif",
        dest="output_format",
        action="store_const",
        const="W",
        help="output new key in wallet import format (WIF)",
        default='W',
    )
    parser.add_option(
        "--rfc",
        dest="output_format",
        action="store_const",
        const="rfc",
    )
    parser.add_option(
        "-D",
        "--dice",
        dest="random_source",
        action="store_const",
        const="D",
        default="OS",
    )
    parser.add_option(
        "-H",
        "--hex",
        dest="random_source",
        action="store_const",
        const="H",
    )

    (options, args) = parser.parse_args()

    signing_key = {
        'OS': lambda x: make_key_from_OS(),
        'D': make_key_from_dice_rolls_provided,
        'H': make_key_from_hex_strings,
    }[options.random_source](args)
    compressed_public_key = True

    private_key_display = {
        'W': lambda x: private_key_to_wif(x, compressed_public_key),
        'rfc': joined_words_for_bytes,
    }
    print(private_key_display[options.output_format](signing_key.to_string()))
    print(
        get_bitcoin_address_from_signing_key(signing_key,
                                             compressed_public_key))