From f78e5eb18177fcfe36fc13daf416be1b9055a3c2 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 30 Sep 2025 11:58:36 +0300 Subject: [PATCH] ensure wallet loaded - wip --- rin/miner/readme.md | 11 +++++++++-- rin/wallet/cmd/README.md | 5 +++-- rin/wallet/cmd/restore_wallet_file.sh | 1 + rin/wallet/web/server.py | 24 +++++++++++++++++++++++- rin/wallet/web/start_web_wallet.sh | 5 ++--- 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/rin/miner/readme.md b/rin/miner/readme.md index 3059b00..4bd8bfe 100644 --- a/rin/miner/readme.md +++ b/rin/miner/readme.md @@ -26,5 +26,12 @@ make -j$(nproc)
/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+tcp://rinhash.eu.mine.zergpool.com:7148 -u bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j -p c=BTC,mc=RIN,m=solo -t 32
 
-
/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+tcp://1localhost:3333 -u x -p x -t 32
-
\ No newline at end of file +
/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+tcp://1localhost:3333 -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q -p m=solo -t 32
+
+
/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+tcp://stratum.gettomine.com:3498  -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q -p m=solo 
+stratum+tcp://mine.evepool.pw:7148 +stratum+ssl://mine.evepool.pw:17148 + +/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+ssl://mine.evepool.pw:17148 -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q -p m=solo + +/mnt/shared/DEV/repos/d-popov.com/mines/rin/miner/cpuminer-opt-rin/cpuminer -a rinhash -o stratum+ssl://mine.evepool.pw:17148 -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q diff --git a/rin/wallet/cmd/README.md b/rin/wallet/cmd/README.md index b609315..4f1c210 100644 --- a/rin/wallet/cmd/README.md +++ b/rin/wallet/cmd/README.md @@ -19,7 +19,7 @@ Send RIN to another wallet address. **Example:** ```bash -./send_rin.sh rin1qvj0yyt9phvled9kxflju3p687a4s7kareglpk5 100.0 +./send_rin.sh rin1qm5qg07qh0fy3tgxc3ftfgq0fujgfgm4n6ggt5f 100.0 ``` ### check_balance.sh @@ -59,7 +59,7 @@ General-purpose RPC call script for any RIN RPC method. ./rpc_call.sh getinfo ./rpc_call.sh getnewaddress myaccount ./rpc_call.sh listtransactions "*" 10 -./rpc_call.sh validateaddress rin1qvj0yyt9phvled9kxflju3p687a4s7kareglpk5 +./rpc_call.sh validateaddress rin1qm5qg07qh0fy3tgxc3ftfgq0fujgfgm4n6ggt5f ./rpc_call.sh loadwallet ``` @@ -87,6 +87,7 @@ Set which wallet the web interface should use. ### find_address.sh Check if an address belongs to any loaded wallet. + we need to see what is this address. ```bash ./find_address.sh rin1qvj0yyt9phvled9kxflju3p687a4s7kareglpk5 diff --git a/rin/wallet/cmd/restore_wallet_file.sh b/rin/wallet/cmd/restore_wallet_file.sh index 8e9bc08..a0bd488 100644 --- a/rin/wallet/cmd/restore_wallet_file.sh +++ b/rin/wallet/cmd/restore_wallet_file.sh @@ -176,3 +176,4 @@ echo " curl -s -u \"$RPC_USER:$RPC_PASSWORD\" -d '{\"jsonrpc\": \"2.0\", \"id\ echo "" echo " List wallets:" echo " ./list_wallets.sh" + diff --git a/rin/wallet/web/server.py b/rin/wallet/web/server.py index 1e64a8d..0177298 100644 --- a/rin/wallet/web/server.py +++ b/rin/wallet/web/server.py @@ -28,6 +28,28 @@ if not API_TOKEN: print(f"[web-wallet] API token: {API_TOKEN}") +def create_base_rpc_client() -> AuthServiceProxy: + url = f"http://{RIN_RPC_USER}:{RIN_RPC_PASSWORD}@{RIN_RPC_HOST}:{RIN_RPC_PORT}" + return AuthServiceProxy(url, timeout=15) + + +def ensure_wallet_loaded(): + """Ensure the wallet is loaded at startup.""" + try: + base_rpc = create_base_rpc_client() + base_rpc.loadwallet(RIN_WALLET_NAME) + print(f"[web-wallet] Loaded wallet: {RIN_WALLET_NAME}") + except Exception as exc: + print(f"[web-wallet] Warning: Could not load wallet {RIN_WALLET_NAME}: {exc}") + # Try to create if loading failed + try: + base_rpc = create_base_rpc_client() + base_rpc.createwallet(RIN_WALLET_NAME, False, True, "", False, True, True) + print(f"[web-wallet] Created and loaded wallet: {RIN_WALLET_NAME}") + except Exception as create_exc: + print(f"[web-wallet] Warning: Could not create wallet {RIN_WALLET_NAME}: {create_exc}") + + def create_rpc_client() -> AuthServiceProxy: url = f"http://{RIN_RPC_USER}:{RIN_RPC_PASSWORD}@{RIN_RPC_HOST}:{RIN_RPC_PORT}/wallet/{RIN_WALLET_NAME}" return AuthServiceProxy(url, timeout=15) @@ -211,10 +233,10 @@ def static_proxy(path): def main(): + ensure_wallet_loaded() port = int(os.environ.get("RIN_WEB_WALLET_PORT", "8787")) app.run(host="127.0.0.1", port=port, debug=False) if __name__ == "__main__": main() - diff --git a/rin/wallet/web/start_web_wallet.sh b/rin/wallet/web/start_web_wallet.sh index 14eefef..c52bd20 100644 --- a/rin/wallet/web/start_web_wallet.sh +++ b/rin/wallet/web/start_web_wallet.sh @@ -5,8 +5,8 @@ set -euo pipefail SCRIPT_DIR=$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd) CONTAINER="rincoin-node2" -if ! sudo docker ps --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then - echo "Error: ${CONTAINER} container is not running. Start it with 'sudo docker start ${CONTAINER}'." +if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then + echo "Error: ${CONTAINER} container is not running. Start it with 'docker start ${CONTAINER}'." exit 1 fi @@ -43,4 +43,3 @@ export PYTHONPATH="${SCRIPT_DIR}" flask run --host 127.0.0.1 --port 8787 # Note: To clean up the virtual environment, run: rm -rf "${SCRIPT_DIR}/venv" -