mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-09-30 20:46:32 +00:00
main still called the provider Casdoor in ten places. hanzo.id is served by github.com/hanzoai/iam, which its own LICENSE states is a clean-room implementation carrying no third-party licensed source. The Casdoor-derived server was hanzoai/iam-v1, retired and no part of this stack. Every fact the text carried is kept. IAM really does stamp iss claims that openid-client rejects, which is why the NextAuth provider is type: "oauth" and why setting `issuer` breaks it; the applications really do live in the iam-init-data configmap. Only the vendor name changed. iam.py claimed a "Casdoor-compatible" flow. It is a standard flow — RFC 6749 and OIDC Core — which is what HIP-0111 requires; naming a vendor for a capability that has an RFC is what the standard exists to stop. infra/k8s/cloud-deployment.yaml is deleted rather than edited. Its env block named casdoorEndpoint / casdoorOrganization / casdoorApplication, and nothing reads them: hanzoai/cloud configures IAM through IAM_URL, IAM_MINT_CLIENT_ID and CLOUD_IAM_ISSUER, and ships no conf/. Renaming them to IAM_* would have produced config that looks live and still does nothing. The file is unreferenced by kustomization.yaml, duplicates declared state that belongs in universe (infra/k8s/cloud/), pins registry.digitalocean.com instead of ghcr.io/hanzoai, and pins a floating :latest tag that must never reach a cluster. Landed directly on main via an isolated worktree. chore/use-datastore-fork is 139/137 divergent from a history rewrite; merging it would re-import that lineage, and only two commit subjects there are genuinely absent from main. Co-authored-by: Hanzo Dev <[email protected]>
Hanzo Nodes API
Multi-chain blockchain infrastructure platform providing RPC, APIs, WebSockets, Webhooks, and ERC-4337 bundling.
Features
- Multi-Chain RPC: 100+ EVM chains with load balancing
- Token API: ERC-20 balances, transfers, prices
- NFT API: ERC-721/1155 ownership, metadata, transfers
- Wallet API: Portfolio tracking, activity history
- WebSocket Subscriptions: Real-time blockchain events
- Webhooks: Event notifications with delivery tracking
- ERC-4337 Bundler: Account abstraction with gasless transactions
- Gas API: Real-time gas estimates and EIP-1559 data
Quick Start
# Start dependencies
docker compose up -d postgres redis clickhouse
# Run API locally
uv run uvicorn bootnode.main:app --reload
# Or with Docker
docker compose up -d
API Endpoints
GET /health- Health checkPOST /v1/rpc/{chain}/{network}- JSON-RPC proxyGET /v1/tokens/{chain}/balance/{address}- Token balancesGET /v1/nfts/{chain}/owner/{address}- NFT ownershipPOST /v1/webhooks- Create webhookWS /v1/ws/{chain}/{network}- WebSocket subscriptions
Environment Variables
DATABASE_URL=postgresql+asyncpg://...
REDIS_URL=redis://...
DATASTORE_URL=clickhouse://...
JWT_SECRET=...
Documentation
- API Docs: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
License
BSD-3-Clause