-
-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Labels
bountyRTC bounty rewardRTC bounty rewardhelp wantedExtra attention is neededExtra attention is needed
Description
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:httpxfor 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/submitTests:
-
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/readySubmission
- Comment on this issue that you're working on it
- Fork the repo, create your SDK in a
sdk/directory - Submit a PR referencing this issue
- 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bountyRTC bounty rewardRTC bounty rewardhelp wantedExtra attention is neededExtra attention is needed