Skip to content

[BOUNTY] Python SDK — pip-installable RustChain Client Library (100 RTC) #157

@Scottcjn

Description

@Scottcjn

Python SDK for RustChain — 100 RTC Bounty

Build a pip-installable Python SDK that wraps the RustChain node API. This is the foundation every future integration depends on.

Requirements

Package:

  • Published to PyPI as rustchain-sdk (or similar)
  • Python 3.8+ compatible
  • Zero required dependencies beyond requests (optional: httpx for async)
  • Type hints throughout

Core Features:

from rustchain import RustChainClient

client = RustChainClient("https://50.28.86.131", verify_ssl=False)

# Node info
health = client.health()          # GET /health
epoch = client.epoch()            # GET /epoch
miners = client.miners()          # GET /api/miners

# Wallet
balance = client.balance("wallet_id")   # GET /balance?miner_id=...
client.transfer(from_addr, to_addr, amount, signature)  # POST /wallet/transfer/signed

# Attestation
client.submit_attestation(payload)  # POST /attest/submit

Tests:

  • 80% code coverage

  • pytest-based test suite
  • Tests must pass against the live node at https://50.28.86.131
  • Include both unit tests (mocked) and integration tests (live)

Documentation:

  • README with quickstart, installation, and API reference
  • Docstrings on all public methods

Payout Structure

Milestone RTC
Core client (health, epoch, miners, balance) + tests 40
Wallet operations (transfer, history) + tests 30
PyPI published + docs + CI passing 30

Partial credit available — submit what you have and we'll review incrementally.

Getting Started

# Test the live API
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

# API docs (inspect endpoints)
curl -sk https://50.28.86.131/ready

Submission

  1. Comment on this issue that you're working on it
  2. Fork the repo, create your SDK in a sdk/ directory
  3. Submit a PR referencing this issue
  4. Include test output showing passing tests against the live node

What Gets Rejected

  • SDKs that don't work against the live API
  • No tests or placeholder tests
  • Copy-paste from other projects without adaptation
  • Submissions without evidence of testing

Metadata

Metadata

Assignees

No one assigned

    Labels

    bountyRTC bounty rewardhelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions