Skip to content

feat(rust): implement native Rust wallet for bounty #733#1

Closed
createkr wants to merge 81 commits intomainfrom
feat/issue733-rust-wallet
Closed

feat(rust): implement native Rust wallet for bounty #733#1
createkr wants to merge 81 commits intomainfrom
feat/issue733-rust-wallet

Conversation

@createkr
Copy link
Copy Markdown
Owner

@createkr createkr commented Mar 10, 2026

Summary

  • add a standalone rustchain-wallet Rust crate implementing native wallet capabilities
  • provide key generation/import/export, transaction build/sign/hash, encrypted local storage, and RPC client helpers
  • add CLI binary (rtc_wallet) plus examples and security/docs

Validation

  • cargo test (in rustchain-wallet/)

Bounty

createkr and others added 30 commits February 25, 2026 17:02
…ecks

Co-authored-by: createkr <createkr@users.noreply.github.com>
* Add RustChain Telegram Bot (Bounty Scottcjn#249)

- Implemented /price, /miners, /epoch, /balance, /health commands
- Added Dockerfile and systemd service
- Created setup instructions

Bounty: 50 RTC

* Add RustChain Telegram Bot (Bounty Scottcjn#249)

- /price, /miners, /epoch, /balance, /health commands
- Simple Python implementation
- Requirements: python-telegram-bot, requests

Bounty: 50 RTC
Fixes YAML parsing error in action.yml caused by Python heredoc at column 0.
Reduces notification spam from every-15-min failures to daily runs.
Fixes YAML parsing error in action.yml caused by Python heredoc at column 0.
Reduces notification spam from every-15-min failures to daily runs.
Fixes YAML parsing error in action.yml caused by Python heredoc at column 0.
Reduces notification spam from every-15-min failures to daily runs.
External contributors cannot add labels, so the BCOS check failed 100%
of the time. Now:
- Auto-labeler applies BCOS-L1 (code) or BCOS-L2 (security) labels
- Label gate warns instead of failing when no label present
- SBOM/attestation always generates (no longer blocked by label gate)
- Default tier is L1 when no explicit label set
External contributors cannot add labels, so the BCOS check failed 100%
of the time. Now:
- Auto-labeler applies BCOS-L1 (code) or BCOS-L2 (security) labels
- Label gate warns instead of failing when no label present
- SBOM/attestation always generates (no longer blocked by label gate)
- Default tier is L1 when no explicit label set
* docs: add Japanese quickstart guide under docs/ja

* docs: add Japanese quickstart guide under docs/ja
Co-authored-by: Claw2 AI Agent <claw2@openclaw.ai>
Co-authored-by: createkr <createkr@users.noreply.github.com>
Co-authored-by: createkr <createkr@users.noreply.github.com>
Co-authored-by: createkr <createkr@users.noreply.github.com>
- Removed duplicate bot.py file
- Implemented real /price command using DexScreener API with Jupiter fallback
- Added environment variable support (.env.example file)
- Updated requirements.txt with python-dotenv dependency
- Improved error handling and logging
- Updated README.md with comprehensive setup instructions

Fixes issue Scottcjn#249 - addressing owner feedback on code quality.

Co-authored-by: zzjpython <zzjpython@users.noreply.github.com>
Add 7 detailed protocol documentation files:

- protocol-overview.md: RIP-200 Proof-of-Attestation consensus overview
- attestation-flow.md: Miner attestation process with Mermaid diagrams
- epoch-settlement.md: Reward calculation and distribution mechanics
- hardware-fingerprinting.md: 6+1 hardware verification checks
- token-economics.md: RTC supply, antiquity multipliers, wRTC bridge
- api-reference.md: All public endpoints with curl examples
- glossary.md: Updated terminology reference

All docs include Mermaid flow diagrams and practical examples.
…tion

docs: comprehensive RustChain protocol documentation
Co-authored-by: sungdark <264067052+sungdark@users.noreply.github.com>
…dardize 'copy-pastable' spelling (Scottcjn#408)

Co-authored-by: SASAMITTRRR <sasamittrrr@gmail.com>
Co-authored-by: SASAMITTRRR <sasamittrrr@gmail.com>
- Switch to HTTPS with verify=False for self-signed certs
- Integrate RIP-PoA hardware fingerprint checks (all 6 checks)
- Use wallet address directly as miner_id (not MD5 hash)
- Add auto-update: checks GitHub hourly, downloads new code, restarts
  with existing --wallet preserved across updates
- Add verbose logging with timestamps
- Add --no-update flag to disable auto-update

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The check_simd_identity() function only read /proc/cpuinfo (Linux) and
sysctl (macOS) for CPU flags. On Windows, both paths fail silently,
leaving flags empty and causing no_simd_detected failure.

Added Windows SIMD detection via WMI + architecture inference:
- All x86_64 CPUs have SSE2 minimum
- Ryzen/EPYC detected as AVX2 capable
- Intel Core detected as AVX capable
- ARM Windows detected as NEON capable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add missing IS_WINDOWS constant (was referenced but undefined)
- Add WMI-based VM detection for Windows (computersystem + BIOS checks)
- Skip systemd-detect-virt on Windows (Linux-only)
- SIMD check now detects SSE/AVX on Windows via arch inference
- Prevents console popups via CREATE_NO_WINDOW flag

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes Scottcjn#398 - adds structured JSON output for headless/CI attestation workflows.
Security fix - validates transfer amounts are positive before processing. Includes tests.
…ero, Verus, Alephium, Zephyr, Neoxa + NiceHash/MoneroOcean)
…Fixes Scottcjn#400 (Scottcjn#410)

Clean, focused URL standardization. Verified rustchain.org resolves to healthy node.
…l, Scala)

Expands dual-mining detection from 8 to 14 chains:
- DERO (AstroBWT) - CPU, ports 10102/20206
- Raptoreum (GhostRider) - CPU, ports 10225/10226
- Wownero (RandomX) - CPU, port 34568
- Salvium (RandomX) - CPU, port 19734
- Conceal (CryptoNight-GPU) - GPU, port 16000
- Scala (RandomX) - CPU, port 11812

All with node RPC handlers and HeroMiners/Flockpool pool templates.
edisonlv and others added 16 commits March 2, 2026 06:49
Adds a complete Japanese translation of the RustChain README to help onboard Japanese-speaking miners and contributors.
Links to the English version are provided at the top.

Generated by AI Agent.

Co-authored-by: Claw (AI Agent) <claw@openclaw.ai>
- Complete Spanish translation of all sections
- Preserved all links, badges, and code blocks
- Natural Spanish translation (not machine translated)
- Fixes issue Scottcjn#466

Co-authored-by: OpenHands <openhands@all-hands.dev>
)

Excellent attestation input hardening. Adds comprehensive input validation, normalization functions, regex-bounded miner IDs, and corpus-based regression testing for /attest/submit.
Valid RIP-201 fleet detection bypass PoC. Demonstrates XFF IP spoofing, sparse fingerprint evasion, and timing stagger. 200 RTC security bounty.
Data-backed growth analysis covering Dec 2025 - Mar 2026.
Compares Elyan Labs output against industry benchmarks (GitClear,
LinearB, Electric Capital) and VC-backed projects (Sei $85M,
Aztec $119M). All data pulled live from GitHub API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
RustChain's consensus mechanism has always been Proof of Antiquity (PoA),
rewarding hardware age and diversity. Fixed incorrect "Attestation"
references in 9 documentation files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added /hall-of-fame/machine.html frontend with CRT styling
- Added GET /api/hall_of_fame/machine endpoint
- Added ASCII art silhouettes and 30-day attestation timelines
- Added deceased machine memorial styling

Closes Scottcjn#505
- Added Prometheus exporter for RustChain node API
- Includes grafana dashboard, docker-compose, and alerts
- Closes Scottcjn#504
- Single self-contained HTML page with inline CSS/JS
- CRT terminal aesthetic matching rustchain.org
- Shows balance, total earned, epoch participation
- Hardware info: architecture, year, rust score, badge
- Attestation history (24h timeline)
- Reward history (20 epochs) with performance chart
- Fleet view for multi-machine operators
- Shareable URL support
- Mobile responsive

Closes Scottcjn#501
Clean --version flag addition. Thanks lustsazeus-lab\!
Merging superset PR covering: Hall of Fame machine detail (Scottcjn#505), Prometheus exporter + Grafana dashboard (Scottcjn#504), and Miner Dashboard (Scottcjn#501). Clean code, CRT aesthetic, proper SQL safety. Includes Scottcjn#531 and Scottcjn#532 changes. Wallet: claw
Implements dual-mining integration with Warthog (Janushash PoW).
Modern/semi-modern machines with GPUs can earn a slight RTC bonus
(1.1x pool, 1.15x own node) by also contributing hashpower to
Warthog. Bonus requires passing hardware fingerprint — VMs and
emulators are rejected at both attestation and settlement time.

New files:
- miners/linux/warthog_sidecar.py (miner-side node/pool/BzMiner monitor)
- node/warthog_verification.py (server-side proof verification + DB)

Modified:
- rustchain_linux_miner.py (--wart-address CLI flag, proof in payload)
- rustchain_v2_integrated_v2.2.1_rip200.py (verify + record proofs)
- rip_200_round_robin_1cpu1vote.py (apply bonus in epoch rewards)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Complete Rust wallet library with Ed25519 key management
- Secure encrypted storage using AES-256-GCM
- Full-featured CLI tool (rtc-wallet) with all wallet operations
- Transaction creation, signing, and serialization
- RPC client for network interaction (balance, transfers, network info)
- Multi-network support (mainnet, testnet, devnet)
- Comprehensive documentation (README, SECURITY, examples)
- Unit and integration tests with 100% core functionality coverage
- Production-ready crate structure for crates.io publication
- Security best practices: zeroize sensitive data, PBKDF2 key derivation

Implements bounty Scottcjn#733 requirements:
✓ Robust CLI wallet tool
✓ Key management and signing flow
✓ Balance and transfer utilities
✓ Crates.io-ready package structure
✓ Install and run documentation
✓ Usage examples
✓ Comprehensive tests
✓ Security notes and best practices

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to RustChain! Thanks for your first pull request.

Before we review, please make sure:

  • Your PR has a BCOS-L1 or BCOS-L2 label
  • New code files include an SPDX license header
  • You've tested your changes against the live node

Bounty tiers: Micro (1-10 RTC) | Standard (20-50) | Major (75-100) | Critical (100-150)

A maintainer will review your PR soon. Thanks for contributing!

@github-actions
Copy link
Copy Markdown

This PR has been inactive for 14 days. It will be closed in 7 days unless updated.
Need help finishing? Ask in the PR comments — we're happy to assist!

@github-actions github-actions bot added the stale label Mar 30, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 6, 2026

Closed due to inactivity. Feel free to reopen with updates.

@github-actions github-actions bot closed this Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.