This file used to be written in Russian; it is now fully in English.
Problem: The wallet displayed “Connection was established via this URL” and refused to connect.
Fix: ✅ The Qubic namespace is now provided via required_namespaces (and old state is cleaned up before reconnect).
cargo runYou should see something like:
┌──────────────────────────────────────────────────────────┐
│ 🔗 WalletConnect for Qubic - QR connection │
└──────────────────────────────────────────────────────────┘
Step 1: Creating WalletConnect configuration...
✅ Configuration created
Step 2: Creating WalletConnect client...
✅ Client created
Step 3: Initializing client...
✅ Client initialized successfully
Step 4: Generating URI for QR code...
ℹ️ Old sessions/state are cleaned up automatically
ℹ️ Each run generates a NEW unique URI
✅ URI generated successfully
[QR code renders here]
How to connect:
1) Open your Qubic wallet on your phone
2) Find WalletConnect
3) Scan the QR code
4) Approve the connection in the wallet
Waiting for wallet connection... (timeout: 120s)
- Open the Qubic wallet on your phone
- Find WalletConnect
- Scan the QR code
- Approve the connection
After a successful connection you should see session info and can perform requests.
The core flow:
- create config
- create client
init()connect()→ show URI as QR- wait for the wallet to approve
- call methods (
request_accounts,sign_message,send_transaction, etc.)
See WALLET_CONNECT_QUICKSTART.md and WALLET_CONNECT_API.md for examples.
A: Usually no. The client cleans up old state automatically on each run.
A: Restart the program to get a fresh URI, and clear old sessions in the wallet if needed.
A: The URI includes an expiry (often 5 minutes). The sample waits 120 seconds by default.
A: No. Each QR code/URI is single-use.
A: Create a project at https://cloud.walletconnect.com/ and copy the Project ID.
A: It works with wallets that support WalletConnect v2 and the Qubic namespace.
- Root-cause write-up:
WALLETCONNECT_FIX_REQUIRED_NAMESPACES.md - Changelog:
CHANGELOG_WALLETCONNECT.md - Full API reference:
WALLET_CONNECT_API.md - Examples:
examples/wallet_connect_*.rs
Set your Project ID via environment variable or in code:
set WALLETCONNECT_PROJECT_ID=your_project_id- check your internet connection
- ensure the wallet is open and unlocked
- increase timeout if needed (example):
wait_for_connection(300)
- verify the Project ID
- check network connectivity
- retry
- this can happen in some terminals/modes
- use the URI directly, or render a QR via an external tool
After a successful connection you can:
- request accounts
- sign messages
- sign and send transactions
- subscribe to events
Last updated: 2025-11-01