1#!/usr/bin/env python3 2 3# Convert Address - convert Bitcoin to Namecoin addresses 4# Copyright (C) 2016-2019 Daniel Kraft <d@domob.eu> 5# 6# This program is free software: you can redistribute it and/or modify 7# it under the terms of the GNU Affero General Public License as published by 8# the Free Software Foundation, either version 3 of the License, or 9# (at your option) any later version. 10# 11# This program is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU Affero General Public License for more details. 15# 16# You should have received a copy of the GNU Affero General Public License 17# along with this program. If not, see <http://www.gnu.org/licenses/>. 18 19import argparse 20import sys 21 22from bitcoin import b58check_to_hex, hex_to_b58check 23 24parser = argparse.ArgumentParser () 25parser.add_argument ("--address", required=True, 26 help="the address to convert") 27parser.add_argument ("--magic-byte", dest="magic", default=52, type=int, 28 help="the target 'magic' version byte") 29parser.add_argument ("--update-file", dest="updatefile", default="", 30 help="if set, replace all occurances in the given file") 31args = parser.parse_args () 32 33keyHex = b58check_to_hex (args.address) 34newAddr = hex_to_b58check (keyHex, args.magic) 35print (newAddr) 36 37if args.updatefile != "": 38 with open (args.updatefile, "r") as f: 39 lines = f.readlines () 40 with open (args.updatefile, "w") as f: 41 for l in lines: 42 f.write (str.replace (l, args.address, newAddr)) 43