elements.py/getAddress.py

44 lines
1.4 KiB
Python

from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
import json
# Read the RPC configuration from the configuration file
with open("rpc_config.json", "r") as config_file:
config = json.load(config_file)
rpc_host = config["rpc_host"]
rpc_port = config["rpc_port"]
rpc_user = config["rpc_user"]
rpc_password = config["rpc_password"]
try:
rpc_connection = AuthServiceProxy(
f"http://{rpc_user}:{rpc_password}@{rpc_host}:{rpc_port}"
)
# List available wallets
wallet_list = rpc_connection.listwallets()
if not wallet_list:
print("No wallets found.")
else:
print("Available wallets:")
for i, wallet in enumerate(wallet_list):
print(f"{i + 1}. {wallet}")
wallet_index = int(input("Enter the number of the wallet to get a new address for: ")) - 1
if 0 <= wallet_index < len(wallet_list):
wallet_name = wallet_list[wallet_index]
# Get a new address for the selected wallet
new_address = rpc_connection.getnewaddress(wallet_name)
print(f"New receiving address for wallet '{wallet_name}': {new_address}")
else:
print("Invalid wallet selection. Exiting.")
exit()
except JSONRPCException as json_exception:
print("A JSON RPC Exception occurred: " + str(json_exception))
except Exception as general_exception:
print("An Exception occurred: " + str(general_exception))