diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8864c573..5f470910 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ Thanks for your interest in contributing to RustChain! We pay bounties in RTC to ## What Gets Merged -- Code that works against the live node (`https://50.28.86.131`) +- Code that works against the live node (`https://rustchain.org`) - Tests that actually test something meaningful - Documentation that a human can follow end-to-end - Security fixes with proof of concept @@ -49,19 +49,19 @@ python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt # Test against live node -curl -sk https://50.28.86.131/health -curl -sk https://50.28.86.131/api/miners -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/health +curl -sk https://rustchain.org/api/miners +curl -sk https://rustchain.org/epoch ``` ## Live Infrastructure | Endpoint | URL | |----------|-----| -| Node Health | `https://50.28.86.131/health` | -| Active Miners | `https://50.28.86.131/api/miners` | -| Current Epoch | `https://50.28.86.131/epoch` | -| Block Explorer | `https://50.28.86.131/explorer` | +| Node Health | `https://rustchain.org/health` | +| Active Miners | `https://rustchain.org/api/miners` | +| Current Epoch | `https://rustchain.org/epoch` | +| Block Explorer | `https://rustchain.org/explorer` | | wRTC Bridge | `https://bottube.ai/bridge` | ## RTC Payout Process diff --git a/INSTALL.md b/INSTALL.md index f67e15b1..66e86920 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -152,7 +152,7 @@ tail -f ~/.rustchain/miner.log ### Balance Check ```bash # Note: Using -k flag because node may use self-signed SSL certificate -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" ``` Example output: @@ -166,17 +166,17 @@ Example output: ### Active Miners ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` ### Node Health ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` ### Current Epoch ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` ## Manual Operation @@ -304,14 +304,14 @@ cat ~/.rustchain/miner.log **Check:** 1. Internet connection is working -2. Node is accessible: `curl -sk https://50.28.86.131/health` +2. Node is accessible: `curl -sk https://rustchain.org/health` 3. Firewall isn't blocking HTTPS (port 443) ### Miner not earning rewards **Check:** 1. Miner is actually running: `systemctl --user status rustchain-miner` or `launchctl list | grep rustchain` -2. Wallet balance: `curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME"` +2. Wallet balance: `curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME"` 3. Miner logs for errors: `journalctl --user -u rustchain-miner -f` or `tail -f ~/.rustchain/miner.log` 4. Hardware attestation passes: Look for "fingerprint validation" messages in logs @@ -338,7 +338,7 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine - **Documentation:** https://github.com/Scottcjn/Rustchain - **Issues:** https://github.com/Scottcjn/Rustchain/issues -- **Explorer:** http://50.28.86.131/explorer +- **Explorer:** https://rustchain.org/explorer - **Bounties:** https://github.com/Scottcjn/rustchain-bounties ## Security Notes @@ -353,17 +353,17 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine To view the certificate SHA-256 fingerprint: ```bash -openssl s_client -connect 50.28.86.131:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout +openssl s_client -connect rustchain.org:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout ``` If you want to avoid using `-k`, you can save the certificate locally and pin it: ```bash # Save the cert once (overwrite if it changes) -openssl s_client -connect 50.28.86.131:443 < /dev/null 2>/dev/null | openssl x509 > ~/.rustchain/rustchain-cert.pem +openssl s_client -connect rustchain.org:443 < /dev/null 2>/dev/null | openssl x509 > ~/.rustchain/rustchain-cert.pem # Then use it instead of -k -curl --cacert ~/.rustchain/rustchain-cert.pem "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" +curl --cacert ~/.rustchain/rustchain-cert.pem "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" ``` ## Contributing diff --git a/README.md b/README.md index 8e012cbb..e4574d4d 100644 --- a/README.md +++ b/README.md @@ -164,22 +164,22 @@ If an issue persists, include logs and OS details in a new issue or bounty comme **Check your wallet balance:** ```bash # Note: Using -sk flags because the node may use a self-signed SSL certificate -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" ``` **List active miners:** ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **Check node health:** ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **Get current epoch:** ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **Manage the miner service:** @@ -310,16 +310,16 @@ This provides cryptographic proof that RustChain state existed at a specific tim ```bash # Check network health -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # Get current epoch -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # List active miners -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # Check wallet balance -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET" # Block explorer (web browser) open https://rustchain.org/explorer diff --git a/README.zh-CN.md b/README.zh-CN.md index 58c1574c..41f95f79 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -95,22 +95,22 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine **检查钱包余额:** ```bash # 注意:使用 -sk 标志,因为节点可能使用自签名 SSL 证书 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" ``` **列出活跃矿工:** ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **检查节点健康:** ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **获取当前纪元:** ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **管理矿工服务:** @@ -240,16 +240,16 @@ RustChain 纪元 → 承诺哈希 → Ergo 交易(R4 寄存器) ```bash # 检查网络健康 -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # 获取当前纪元 -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # 列出活跃矿工 -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # 检查钱包余额 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET" # 区块浏览器(网页浏览器) open https://rustchain.org/explorer diff --git a/README_DE.md b/README_DE.md index 137eb68e..9ae3073c 100644 --- a/README_DE.md +++ b/README_DE.md @@ -94,22 +94,22 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine **Wallet-Guthaben prüfen:** ```bash # Hinweis: -sk Flags werden verwendet, da der Node ein selbstsigniertes SSL-Zertifikat nutzen kann -curl -sk "https://50.28.86.131/wallet/balance?miner_id=DEIN_WALLET_NAME" +curl -sk "https://rustchain.org/wallet/balance?miner_id=DEIN_WALLET_NAME" ``` **Aktive Miner auflisten:** ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **Node-Health prüfen:** ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **Aktuelle Epoch abrufen:** ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **Miner-Service verwalten:** @@ -225,16 +225,16 @@ Dies bietet kryptographischen Beweis, dass der RustChain-State zu einem bestimmt ```bash # Netzwerk-Health prüfen -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # Aktuelle Epoch abrufen -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # Aktive Miner auflisten -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # Wallet-Guthaben prüfen -curl -sk "https://50.28.86.131/wallet/balance?miner_id=DEINE_WALLET" +curl -sk "https://rustchain.org/wallet/balance?miner_id=DEINE_WALLET" # Block Explorer (Web-Browser) open https://rustchain.org/explorer diff --git a/README_ZH-TW.md b/README_ZH-TW.md index c3824686..97dce543 100644 --- a/README_ZH-TW.md +++ b/README_ZH-TW.md @@ -94,22 +94,22 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine **查詢錢包餘額:** ```bash # 注意:使用 -sk 參數是因為節點可能使用自簽 SSL 憑證 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=你的錢包名稱" +curl -sk "https://rustchain.org/wallet/balance?miner_id=你的錢包名稱" ``` **列出活躍礦工:** ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **檢查節點健康狀態:** ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **取得當前週期:** ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **管理礦工服務:** @@ -227,16 +227,16 @@ RustChain 週期 → 承諾雜湊 → Ergo 交易(R4 暫存器) ```bash # 檢查網路健康狀態 -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # 取得當前週期 -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # 列出活躍礦工 -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # 查詢錢包餘額 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=你的錢包" +curl -sk "https://rustchain.org/wallet/balance?miner_id=你的錢包" # 區塊瀏覽器(網頁) open https://rustchain.org/explorer diff --git a/README_ZH.md b/README_ZH.md index 10d1038b..45d059e2 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -94,22 +94,22 @@ curl -sSL https://raw.githubusercontent.com/Scottcjn/Rustchain/main/install-mine **检查钱包余额:** ```bash # 注意:使用-sk标志是因为节点可能使用自签名SSL证书 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" ``` **列出活跃矿工:** ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **检查节点健康:** ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **获取当前纪元:** ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **管理矿工服务:** @@ -227,16 +227,16 @@ RustChain纪元 → 承诺哈希 → Ergo交易(R4寄存器) ```bash # 检查网络健康 -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # 获取当前纪元 -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # 列出活跃矿工 -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # 检查钱包余额 -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET" # 区块浏览器(Web浏览器) open https://rustchain.org/explorer diff --git a/discord_presence_README.md b/discord_presence_README.md index c74352ef..47c92be2 100644 --- a/discord_presence_README.md +++ b/discord_presence_README.md @@ -83,7 +83,7 @@ When your miner runs, it displays your miner ID (wallet address): List all active miners: ```bash -curl -sk https://50.28.86.131/api/miners | jq '.[].miner' +curl -sk https://rustchain.org/api/miners | jq '.[].miner' ``` ### Option 3: From Wallet @@ -142,14 +142,14 @@ Your miner must be: Check your miner status: ```bash -curl -sk https://50.28.86.131/api/miners | jq '.[] | select(.miner=="YOUR_MINER_ID")' +curl -sk https://rustchain.org/api/miners | jq '.[] | select(.miner=="YOUR_MINER_ID")' ``` ### Balance shows 0.0 or "Error getting balance" 1. Verify your miner ID is correct 2. Make sure you're using the full wallet address (including "RTC" suffix if applicable) -3. Check network connectivity: `curl -sk https://50.28.86.131/health` +3. Check network connectivity: `curl -sk https://rustchain.org/health` ## Advanced Usage diff --git a/discord_rich_presence.py b/discord_rich_presence.py index ba38d991..d87fbc54 100644 --- a/discord_rich_presence.py +++ b/discord_rich_presence.py @@ -24,7 +24,7 @@ from pypresence import Presence # RustChain API endpoint (self-signed cert requires verification=False) -RUSTCHAIN_API = "https://50.28.86.131" +RUSTCHAIN_API = "https://rustchain.org" # Local state file for tracking earnings STATE_FILE = os.path.expanduser("~/.rustchain_discord_state.json") diff --git a/docs/API.md b/docs/API.md index 268f6b6e..1909a095 100644 --- a/docs/API.md +++ b/docs/API.md @@ -1,6 +1,6 @@ # RustChain API Reference -Base URL: `https://50.28.86.131` +Base URL: `https://rustchain.org` All endpoints use HTTPS. Self-signed certificates require `-k` flag with curl. @@ -14,7 +14,7 @@ Check node status and version. **Request:** ```bash -curl -sk https://50.28.86.131/health | jq . +curl -sk https://rustchain.org/health | jq . ``` **Response:** @@ -48,7 +48,7 @@ Get current epoch details. **Request:** ```bash -curl -sk https://50.28.86.131/epoch | jq . +curl -sk https://rustchain.org/epoch | jq . ``` **Response:** @@ -80,7 +80,7 @@ List all active/enrolled miners. **Request:** ```bash -curl -sk https://50.28.86.131/api/miners | jq . +curl -sk https://rustchain.org/api/miners | jq . ``` **Response:** @@ -127,7 +127,7 @@ Check RTC balance for a miner. **Request:** ```bash -curl -sk "https://50.28.86.131/wallet/balance?miner_id=eafc6f14eab6d5c5362fe651e5e6c23581892a37RTC" | jq . +curl -sk "https://rustchain.org/wallet/balance?miner_id=eafc6f14eab6d5c5362fe651e5e6c23581892a37RTC" | jq . ``` **Response:** @@ -151,7 +151,7 @@ Transfer RTC to another wallet. Requires Ed25519 signature. **Request:** ```bash -curl -sk -X POST https://50.28.86.131/wallet/transfer/signed \ +curl -sk -X POST https://rustchain.org/wallet/transfer/signed \ -H "Content-Type: application/json" \ -d '{ "from": "sender_miner_id", @@ -181,7 +181,7 @@ Submit hardware fingerprint for epoch enrollment. **Request:** ```bash -curl -sk -X POST https://50.28.86.131/attest/submit \ +curl -sk -X POST https://rustchain.org/attest/submit \ -H "Content-Type: application/json" \ -d '{ "miner_id": "your_miner_id", diff --git a/docs/CROSS_NODE_SYNC_VALIDATOR.md b/docs/CROSS_NODE_SYNC_VALIDATOR.md index e715327f..455330df 100644 --- a/docs/CROSS_NODE_SYNC_VALIDATOR.md +++ b/docs/CROSS_NODE_SYNC_VALIDATOR.md @@ -18,7 +18,7 @@ This tool validates RustChain consistency across multiple nodes and reports disc ```bash python3 tools/node_sync_validator.py \ - --nodes https://50.28.86.131 https://50.28.86.153 http://76.8.228.245:8099 \ + --nodes https://rustchain.org https://50.28.86.153 http://76.8.228.245:8099 \ --output-json /tmp/node_sync_report.json \ --output-text /tmp/node_sync_report.txt ``` diff --git a/docs/DISCORD_LEADERBOARD_BOT.md b/docs/DISCORD_LEADERBOARD_BOT.md index bfe308dd..1b387c1c 100644 --- a/docs/DISCORD_LEADERBOARD_BOT.md +++ b/docs/DISCORD_LEADERBOARD_BOT.md @@ -16,7 +16,7 @@ This script posts a RustChain leaderboard message to a Discord webhook. ```bash python3 tools/discord_leaderboard_bot.py \ - --node https://50.28.86.131 \ + --node https://rustchain.org \ --webhook-url "https://discord.com/api/webhooks/xxx/yyy" ``` @@ -24,7 +24,7 @@ If you prefer env vars: ```bash export DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/xxx/yyy" -python3 tools/discord_leaderboard_bot.py --node https://50.28.86.131 +python3 tools/discord_leaderboard_bot.py --node https://rustchain.org ``` ## Dry Run diff --git a/docs/FAQ_TROUBLESHOOTING.md b/docs/FAQ_TROUBLESHOOTING.md index 0c259d33..64d6a278 100644 --- a/docs/FAQ_TROUBLESHOOTING.md +++ b/docs/FAQ_TROUBLESHOOTING.md @@ -14,7 +14,7 @@ This guide covers common setup and runtime issues for miners and node users. ### 2) How do I check if the network is online? ```bash -curl -sk https://50.28.86.131/health | jq . +curl -sk https://rustchain.org/health | jq . ``` You should see a JSON response. If the command times out repeatedly, check local firewall/VPN and retry. @@ -22,7 +22,7 @@ You should see a JSON response. If the command times out repeatedly, check local ### 3) How do I verify my miner is visible? ```bash -curl -sk https://50.28.86.131/api/miners | jq . +curl -sk https://rustchain.org/api/miners | jq . ``` If your miner is missing, wait a few minutes after startup and re-check logs. @@ -30,7 +30,7 @@ If your miner is missing, wait a few minutes after startup and re-check logs. ### 4) How do I check wallet balance? ```bash -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . ``` ### 5) Is self-signed TLS expected on the node API? @@ -38,7 +38,7 @@ curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . Yes. Existing docs use `-k`/`--insecure` for this reason: ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` ## Troubleshooting @@ -68,9 +68,9 @@ Checks: Commands: ```bash -curl -sk https://50.28.86.131/health | jq . -curl -sk https://50.28.86.131/api/miners | jq . -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . +curl -sk https://rustchain.org/health | jq . +curl -sk https://rustchain.org/api/miners | jq . +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . ``` ### API calls fail with SSL/certificate errors @@ -78,7 +78,7 @@ curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . Use `-k` as shown in official docs: ```bash -curl -sk https://50.28.86.131/api/miners | jq . +curl -sk https://rustchain.org/api/miners | jq . ``` ### Bridge/swap confusion (RTC vs wRTC) diff --git a/docs/MECHANISM_SPEC_AND_FALSIFICATION_MATRIX.md b/docs/MECHANISM_SPEC_AND_FALSIFICATION_MATRIX.md index 46880c43..685f4a07 100644 --- a/docs/MECHANISM_SPEC_AND_FALSIFICATION_MATRIX.md +++ b/docs/MECHANISM_SPEC_AND_FALSIFICATION_MATRIX.md @@ -35,9 +35,9 @@ If any "Fail condition" occurs, the corresponding claim is falsified. | Claim | Mechanism Under Test | How to Test | Pass Condition | Fail Condition | |---|---|---|---|---| -| C1: Node health/status is deterministic and machine-readable | Health endpoint | `curl -sk https://50.28.86.131/health \| jq .` | JSON response with `ok=true`, `version`, and runtime fields | Endpoint missing, malformed, or non-deterministic health state | -| C2: Epoch state is explicit and observable | Epoch endpoint | `curl -sk https://50.28.86.131/epoch \| jq .` | Returns epoch/slot/pot fields and advances over time | No epoch data or inconsistent epoch progression | -| C3: Miner enrollment + multipliers are transparent | Miner list endpoint | `curl -sk https://50.28.86.131/api/miners \| jq .` | Active miners listed with hardware fields and `antiquity_multiplier` | Missing/opaque miner state or absent multiplier disclosure | +| C1: Node health/status is deterministic and machine-readable | Health endpoint | `curl -sk https://rustchain.org/health \| jq .` | JSON response with `ok=true`, `version`, and runtime fields | Endpoint missing, malformed, or non-deterministic health state | +| C2: Epoch state is explicit and observable | Epoch endpoint | `curl -sk https://rustchain.org/epoch \| jq .` | Returns epoch/slot/pot fields and advances over time | No epoch data or inconsistent epoch progression | +| C3: Miner enrollment + multipliers are transparent | Miner list endpoint | `curl -sk https://rustchain.org/api/miners \| jq .` | Active miners listed with hardware fields and `antiquity_multiplier` | Missing/opaque miner state or absent multiplier disclosure | | C4: Signed transfer replay is blocked | Nonce replay protection | Send the same signed payload (same nonce/signature) to `/wallet/transfer/signed` twice | First request accepted; second request rejected as replay/duplicate | Same signed payload executes twice | | C5: Signature checks are enforced | Signature verification | Submit intentionally invalid signature to `/wallet/transfer/signed` | Transfer rejected with validation error | Invalid signature accepted and state mutates | | C6: Cross-node reads can be compared for drift | API consistency | Compare `/health`, `/epoch`, `/api/miners` across live nodes (131, 153, 245) | Differences stay within expected propagation window and reconcile | Persistent divergence with no reconciliation | diff --git a/docs/PROTOCOL_v1.1.md b/docs/PROTOCOL_v1.1.md index ec99d0d5..5dd5281a 100644 --- a/docs/PROTOCOL_v1.1.md +++ b/docs/PROTOCOL_v1.1.md @@ -50,7 +50,7 @@ Older hardware is weighted heavier to incentivize preservation. ## 5. Network Architecture ### 5.1 Nodes The network relies on trusted **Attestation Nodes** to validate fingerprints. -* **Primary Node**: `https://50.28.86.131` +* **Primary Node**: `https://rustchain.org` * **Ergo Anchor Node**: `https://50.28.86.153` ### 5.2 Ergo Anchoring diff --git a/docs/README.md b/docs/README.md index ce97ac38..9ccace29 100644 --- a/docs/README.md +++ b/docs/README.md @@ -21,22 +21,22 @@ ## Live Network -- **Primary Node**: `https://50.28.86.131` -- **Explorer**: `https://50.28.86.131/explorer` -- **Health Check**: `curl -sk https://50.28.86.131/health` +- **Primary Node**: `https://rustchain.org` +- **Explorer**: `https://rustchain.org/explorer` +- **Health Check**: `curl -sk https://rustchain.org/health` - **Network Status Page**: `docs/network-status.html` (GitHub Pages-hostable status dashboard) ## Current Stats ```bash # Check node health -curl -sk https://50.28.86.131/health | jq . +curl -sk https://rustchain.org/health | jq . # List active miners -curl -sk https://50.28.86.131/api/miners | jq . +curl -sk https://rustchain.org/api/miners | jq . # Current epoch info -curl -sk https://50.28.86.131/epoch | jq . +curl -sk https://rustchain.org/epoch | jq . ``` ## Architecture Overview diff --git a/docs/US_REGULATORY_POSITION.md b/docs/US_REGULATORY_POSITION.md index 2f8afa82..f453832d 100644 --- a/docs/US_REGULATORY_POSITION.md +++ b/docs/US_REGULATORY_POSITION.md @@ -143,4 +143,4 @@ Representative public statements: This document represents Elyan Labs' analysis of RTC's regulatory status based on publicly available legal frameworks. It is not legal advice. For a formal legal opinion, consult a qualified securities attorney. -**Contact**: scott@elyanlabs.ai | [rustchain.org](http://rustchain.org) | [@RustchainPOA](https://x.com/RustchainPOA) +**Contact**: scott@elyanlabs.ai | [rustchain.org](https://rustchain.org) | [@RustchainPOA](https://x.com/RustchainPOA) diff --git a/docs/WALLET_USER_GUIDE.md b/docs/WALLET_USER_GUIDE.md index e80bd3f0..f72e3c6d 100644 --- a/docs/WALLET_USER_GUIDE.md +++ b/docs/WALLET_USER_GUIDE.md @@ -10,7 +10,7 @@ This guide explains wallet basics, balance checks, and safe transfer practices f ## 2) Check wallet balance ```bash -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET_NAME" | jq . ``` Expected response shape: @@ -26,7 +26,7 @@ Expected response shape: ## 3) Confirm miner is active ```bash -curl -sk https://50.28.86.131/api/miners | jq . +curl -sk https://rustchain.org/api/miners | jq . ``` If your miner does not appear: @@ -63,7 +63,7 @@ Only use this when you fully understand signing and key custody. Current docs use `curl -k` for self-signed TLS: ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` ### Wrong chain/token confusion (RTC vs wRTC) diff --git a/docs/WHITEPAPER.md b/docs/WHITEPAPER.md index f87e86e1..7b5b4203 100644 --- a/docs/WHITEPAPER.md +++ b/docs/WHITEPAPER.md @@ -805,7 +805,7 @@ The Proof-of-Antiquity mechanism proves that blockchain can align economic incen 1. RustChain GitHub Repository: https://github.com/Scottcjn/Rustchain 2. Bounties Repository: https://github.com/Scottcjn/rustchain-bounties -3. Live Explorer: https://50.28.86.131/explorer +3. Live Explorer: https://rustchain.org/explorer ### Technical Standards diff --git a/docs/api-reference.md b/docs/api-reference.md index 1d2698da..2016e254 100644 --- a/docs/api-reference.md +++ b/docs/api-reference.md @@ -4,7 +4,7 @@ RustChain provides a REST API for interacting with the network. All endpoints use HTTPS with a self-signed certificate (use `-k` flag with curl). -**Base URL**: `https://50.28.86.131` +**Base URL**: `https://rustchain.org` **Internal URL**: `http://localhost:8099` (on VPS only) @@ -25,7 +25,7 @@ Most endpoints are public. Admin endpoints require the `X-Admin-Key` header: Check node health status. ```bash -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health ``` **Response**: @@ -56,7 +56,7 @@ curl -sk https://50.28.86.131/health Kubernetes-style readiness probe. ```bash -curl -sk https://50.28.86.131/ready +curl -sk https://rustchain.org/ready ``` **Response**: @@ -75,7 +75,7 @@ curl -sk https://50.28.86.131/ready Get current epoch and slot information. ```bash -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch ``` **Response**: @@ -106,7 +106,7 @@ curl -sk https://50.28.86.131/epoch List all active miners with hardware details. ```bash -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners ``` **Response**: @@ -153,7 +153,7 @@ curl -sk https://50.28.86.131/api/miners List connected attestation nodes. ```bash -curl -sk https://50.28.86.131/api/nodes +curl -sk https://rustchain.org/api/nodes ``` **Response**: @@ -185,7 +185,7 @@ curl -sk https://50.28.86.131/api/nodes Check RTC balance for a miner wallet. ```bash -curl -sk "https://50.28.86.131/wallet/balance?miner_id=scott" +curl -sk "https://rustchain.org/wallet/balance?miner_id=scott" ``` **Parameters**: @@ -220,7 +220,7 @@ curl -sk "https://50.28.86.131/wallet/balance?miner_id=scott" Submit hardware attestation to enroll in current epoch. ```bash -curl -sk -X POST https://50.28.86.131/attest/submit \ +curl -sk -X POST https://rustchain.org/attest/submit \ -H "Content-Type: application/json" \ -d '{ "miner_id": "scott", @@ -276,7 +276,7 @@ curl -sk -X POST https://50.28.86.131/attest/submit \ Check if miner is enrolled in current epoch. ```bash -curl -sk "https://50.28.86.131/lottery/eligibility?miner_id=scott" +curl -sk "https://rustchain.org/lottery/eligibility?miner_id=scott" ``` **Response**: @@ -299,7 +299,7 @@ curl -sk "https://50.28.86.131/lottery/eligibility?miner_id=scott" Web UI for browsing blocks and transactions. ```bash -open https://50.28.86.131/explorer +open https://rustchain.org/explorer ``` Returns HTML page (not JSON). @@ -313,7 +313,7 @@ Returns HTML page (not JSON). Query historical settlement data for a specific epoch. ```bash -curl -sk https://50.28.86.131/api/settlement/75 +curl -sk https://rustchain.org/api/settlement/75 ``` **Response**: @@ -347,7 +347,7 @@ These endpoints require the `X-Admin-Key` header. Transfer RTC between wallets (admin only). ```bash -curl -sk -X POST https://50.28.86.131/wallet/transfer \ +curl -sk -X POST https://rustchain.org/wallet/transfer \ -H "X-Admin-Key: YOUR_ADMIN_KEY" \ -H "Content-Type: application/json" \ -d '{ @@ -375,7 +375,7 @@ curl -sk -X POST https://50.28.86.131/wallet/transfer \ Manually trigger epoch settlement (admin only). ```bash -curl -sk -X POST https://50.28.86.131/rewards/settle \ +curl -sk -X POST https://rustchain.org/rewards/settle \ -H "X-Admin-Key: YOUR_ADMIN_KEY" ``` @@ -401,7 +401,7 @@ These endpoints support the x402 payment protocol (currently free during beta). Bulk video export (BoTTube integration). ```bash -curl -sk https://50.28.86.131/api/premium/videos +curl -sk https://rustchain.org/api/premium/videos ``` --- @@ -411,7 +411,7 @@ curl -sk https://50.28.86.131/api/premium/videos Deep agent analytics. ```bash -curl -sk https://50.28.86.131/api/premium/analytics/scott +curl -sk https://rustchain.org/api/premium/analytics/scott ``` --- @@ -421,7 +421,7 @@ curl -sk https://50.28.86.131/api/premium/analytics/scott USDC/wRTC swap guidance. ```bash -curl -sk https://50.28.86.131/wallet/swap-info +curl -sk https://rustchain.org/wallet/swap-info ``` **Response**: @@ -494,12 +494,12 @@ The node uses a self-signed certificate. Options: ```bash # Option 1: Skip verification (development) -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # Option 2: Download and trust certificate -openssl s_client -connect 50.28.86.131:443 -showcerts < /dev/null 2>/dev/null | \ +openssl s_client -connect rustchain.org:443 -showcerts < /dev/null 2>/dev/null | \ openssl x509 -outform PEM > rustchain.pem -curl --cacert rustchain.pem https://50.28.86.131/health +curl --cacert rustchain.pem https://rustchain.org/health ``` --- @@ -511,7 +511,7 @@ curl --cacert rustchain.pem https://50.28.86.131/health ```python import requests -BASE_URL = "https://50.28.86.131" +BASE_URL = "https://rustchain.org" def get_balance(miner_id): resp = requests.get( @@ -533,7 +533,7 @@ print(get_epoch()) ### JavaScript ```javascript -const BASE_URL = "https://50.28.86.131"; +const BASE_URL = "https://rustchain.org"; async function getBalance(minerId) { const resp = await fetch( @@ -556,7 +556,7 @@ getEpoch().then(console.log); ```bash #!/bin/bash -BASE_URL="https://50.28.86.131" +BASE_URL="https://rustchain.org" # Get balance get_balance() { diff --git a/docs/api/README.md b/docs/api/README.md new file mode 100644 index 00000000..0b5072e2 --- /dev/null +++ b/docs/api/README.md @@ -0,0 +1,161 @@ +# RustChain Node API Documentation + +OpenAPI 3.0 specification and Swagger UI for the RustChain node API. + +## Files + +- `openapi.yaml` - OpenAPI 3.0 specification +- `swagger.html` - Self-contained Swagger UI page + +## Endpoints Documented + +### Public Endpoints (No Authentication) + +| Method | Endpoint | Description | +|--------|----------|-------------| +| GET | `/health` | Node health check | +| GET | `/ready` | Readiness probe | +| GET | `/epoch` | Current epoch, slot, enrolled miners | +| GET | `/api/miners` | Active miners with attestation data | +| GET | `/api/stats` | Network statistics | +| GET | `/api/hall_of_fame` | Hall of Fame leaderboard (5 categories) | +| GET | `/api/fee_pool` | RIP-301 fee pool statistics | +| GET | `/balance?miner_id=X` | Miner balance lookup | +| GET | `/lottery/eligibility?miner_id=X` | Epoch eligibility check | +| GET | `/explorer` | Block explorer page | + +### Authenticated Endpoints (X-Admin-Key Header) + +| Method | Endpoint | Description | +|--------|----------|-------------| +| POST | `/attest/submit` | Submit hardware attestation | +| POST | `/wallet/transfer/signed` | Ed25519 signed transfer | +| POST | `/wallet/transfer` | Admin transfer (requires admin key) | +| POST | `/withdraw/request` | Withdrawal request | + +## Usage + +### View Documentation Locally + +1. Open `swagger.html` in a web browser +2. The page will load the OpenAPI spec from `openapi.yaml` +3. Use "Try it out" to test endpoints against the live node + +### Host with Python + +```bash +# Serve files locally +python3 -m http.server 8080 + +# Open in browser +open http://localhost:8080/swagger.html +``` + +### Validate Spec + +```bash +# Install swagger-cli +npm install -g swagger-cli + +# Validate +swagger-cli validate openapi.yaml +``` + +### Test Against Live Node + +Test endpoints against the production node: + +```bash +# Health check +curl -sk https://rustchain.org/health | jq + +# Epoch info +curl -sk https://rustchain.org/epoch | jq + +# Active miners +curl -sk https://rustchain.org/api/miners | jq + +# Hall of Fame +curl -sk https://rustchain.org/api/hall_of_fame | jq +``` + +## Integration + +### Import into Postman + +1. Open Postman +2. File → Import +3. Select `openapi.yaml` +4. Collection created with all endpoints + +### Generate Client SDKs + +```bash +# Python client +openapi-generator generate -i openapi.yaml -g python -o ./client-python + +# JavaScript client +openapi-generator generate -i openapi.yaml -g javascript -o ./client-js + +# Go client +openapi-generator generate -i openapi.yaml -g go -o ./client-go +``` + +### Embed in Documentation + +The `swagger.html` file is self-contained and can be: +- Hosted on any static web server +- Embedded in existing documentation sites +- Served directly from the RustChain node + +## API Response Examples + +### Health Check +```json +{ + "status": "ok", + "version": "2.2.1-rip200", + "uptime_seconds": 12345, + "timestamp": 1740783600 +} +``` + +### Epoch Info +```json +{ + "epoch": 88, + "slot": 12700, + "slot_progress": 0.45, + "seconds_remaining": 300, + "enrolled_miners": [ + { + "miner_id": "dual-g4-125", + "architecture": "G4", + "rust_score": 450.5 + } + ] +} +``` + +### Miner List +```json +{ + "miners": [ + { + "miner_id": "dual-g4-125", + "architecture": "G4", + "rust_score": 450.5, + "last_attestation_timestamp": 1740783600, + "attestations_count": 150, + "status": "active" + } + ] +} +``` + +## Version History + +- **2.2.1-rip200** - Current version with RIP-200 and RIP-301 support +- Added fee pool endpoints +- Added Hall of Fame categories +- Enhanced attestation response format diff --git a/docs/api/REFERENCE.md b/docs/api/REFERENCE.md index 60ec1303..cad8013d 100644 --- a/docs/api/REFERENCE.md +++ b/docs/api/REFERENCE.md @@ -1,6 +1,6 @@ # RustChain API Reference -**Base URL:** `https://50.28.86.131` (Primary Node) +**Base URL:** `https://rustchain.org` (Primary Node) **Authentication:** Read-only endpoints are public. Writes require Ed25519 signatures or an Admin Key. **Certificate Note:** The node uses a self-signed TLS certificate. Use the `-k` flag with `curl` or disable certificate verification in your client. @@ -67,7 +67,7 @@ List all miners currently participating in the network with their hardware detai Query the RTC balance for any valid miner ID. - **Endpoint:** `GET /wallet/balance?miner_id={NAME}` -- **Example:** `curl -sk 'https://50.28.86.131/wallet/balance?miner_id=scott'` +- **Example:** `curl -sk 'https://rustchain.org/wallet/balance?miner_id=scott'` - **Response:** ```json { diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index b363d98f..57206245 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -13,7 +13,7 @@ info: Write operations (transfers) require cryptographic signatures. ## Base URL - Production: `https://50.28.86.131` + Production: `https://rustchain.org` **Note:** The server uses a self-signed TLS certificate. version: 2.2.1 @@ -25,7 +25,7 @@ info: url: https://opensource.org/licenses/MIT servers: - - url: https://50.28.86.131 + - url: https://rustchain.org description: RustChain Mainnet Node tags: diff --git a/docs/api/swagger.html b/docs/api/swagger.html new file mode 100644 index 00000000..8369ba29 --- /dev/null +++ b/docs/api/swagger.html @@ -0,0 +1,76 @@ + + +
+ + +# Check the network is alive -curl -sk https://50.28.86.131/health +curl -sk https://rustchain.org/health # See active miners -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # Check your balance after mining -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET"+curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET"
@@ -472,10 +472,10 @@Attestation Nodes
@@ -560,7 +560,7 @@Live Endpoints
- - - - + + + +Sign the Guestbook
Quick Links
- Live Block Explorer
+ Live Block Explorer
Live BoTTube.ai — AI video platform
Live Bounty Board
GitHub RustChain repo
diff --git a/docs/mining.html b/docs/mining.html index 0fdff1f0..437bc66b 100644 --- a/docs/mining.html +++ b/docs/mining.html @@ -338,16 +338,16 @@Monitoring Your Mining
RustChain provides several tools to monitor your mining activity:
# Check your balance -curl -sk "https://50.28.86.131/wallet/balance?miner_id=YOUR_WALLET" +curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_WALLET" # View active miners -curl -sk https://50.28.86.131/api/miners +curl -sk https://rustchain.org/api/miners # Check current epoch -curl -sk https://50.28.86.131/epoch +curl -sk https://rustchain.org/epoch # Network health check -curl -sk https://50.28.86.131/health+curl -sk https://rustchain.org/healthWithdrawing Rewards
Once you've accumulated sufficient RTC, you can withdraw to external wallets or trade on supported exchanges. The RustChain light client provides an easy-to-use interface for managing your wallet and transactions.
diff --git a/docs/network-status.html b/docs/network-status.html index 574b9f80..41263803 100644 --- a/docs/network-status.html +++ b/docs/network-status.html @@ -35,7 +35,7 @@Response Time (recent)
+