Skip to content
View ChiaNyFarm's full-sized avatar

Block or report ChiaNyFarm

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ChiaNyFarm/README.md

STBC — Space Time Blockchain

Phase 1 prototype of the STBC Registry: a Chia-connected profile, discovery, and verification platform. See docs/STBC_MASTER_BREAKDOWN.md for the full project source, decisions, and open questions.

Tagline: Proof. Provenance. Ownership.

What's here

  • public/index.html — the full frontend (three-column homepage, MonkeyZoo showcase profile, Goby wallet integration, live Chia chain height/price/ Dexie offer feeds, and backend-wired profile registration/links/blog/ signature-challenge flows).
  • server.js — an Express backend: real profile/link/post storage, a real one-time signature-challenge issue/redeem round-trip, and CRUD endpoints for every entity in the data model (delegated DIDs, donation addresses, CAT claims, offer records, Profile NFT mint requests, burn-evidence intake). It never fakes verification, minting, or deletion — see below.
  • db.js — the SQLite schema (via better-sqlite3), mirroring section 34 of the master breakdown: profiles, delegated_dids, signature_challenges, profile_nft_mints, royalty_records, cat_claims, offer_records, links, posts, donation_addresses, burn_delete_records, audit_events.
  • stbc.db — created at runtime (gitignored); persists across restarts unless the host's filesystem itself is ephemeral.

What is and isn't real

Real: the visual app; Goby connect/sign/take-offer/donate (method names and params verified against the CHIP-0002 dApp spec and Goby's docs — see below); live chain height/price/offer data with honest fallbacks when a feed is unreachable; the full profile-registration + challenge round-trip against a real SQLite-backed API; and data-model endpoints for delegated DIDs, donation addresses, CAT claims, offer records, and NFT mint requests (these record data for the future chain-verification/minting logic to act on — they don't perform any chain verification, minting, or deletion themselves).

Not yet real (labeled in the API responses and UI): verification badges beyond UNVERIFIED, actual Profile NFT minting, DID/NFT authority proof, CAT issuer-authority proof, and any deletion triggered by a burn report (burn intake only logs evidence for human review — see POST /api/profiles/:slug/burn-report). These are blocked on two open technical reviews (REV-002 Profile-NFT-in-DID detection, REV-001 CAT issuer-claim proof) and require a Chia developer plus pending policy decisions (fee amount, royalty percentage, re-verification cadence, burn/legal review).

Goby/Chia API verification note: connect, getPublicKeys, signMessage (not signMessageById), takeOffer, and transfer (requires assetId and hex-encoded memos) were checked against CHIP-0002 and Goby's own docs during this build and corrected where the original guesses were wrong. Coinset's get_blockchain_state shape and Dexie's offer field names (offered/requested arrays of {amount, code, name}) were also confirmed. The one still-unverified detail is Dexie's exact status query-parameter codes (status=0 is used here as "open offers," a common convention, but wasn't confirmed against Dexie's docs, which returned 403 in this build environment).

Running locally

npm install
npm start

Then open http://localhost:3000. The frontend detects the backend via /api/status; without a running backend it still works as a static app (MonkeyZoo showcase, wallet, live public data feeds) but registration/ posting/challenge features are disabled.

Deploying

  • Static only: serve public/index.html from any static host (e.g. drag the public folder onto Netlify Drop). Backend-dependent features will be disabled.
  • Static + backend: deploy this repo to a Node host (e.g. Render) with build command npm install and start command npm start. server.js serves public/ and exposes the /api/* routes.

Before using this for anything real: replace the mock MonkeyZoo donation address in public/index.html, and verify current Goby wallet method names/ params against Goby's own documentation (not verified against live docs in this build).

Popular repositories Loading

  1. ChiaNyFarm ChiaNyFarm Public

    Config files for my GitHub profile.

    HTML

  2. mintgarden-studio mintgarden-studio Public

    Forked from mintgarden-io/mintgarden-studio

    Create NFTs on the Chia blockchain using a simple GUI.

    Vue

  3. airdrop-nft airdrop-nft Public

    Forked from steppsr/airdrop-nft

    Bash script to airdrop NFTs. Source file has an NFT ID and Wallet Address on each line in CSV format.

    Shell

  4. aba-send-nft aba-send-nft Public

    Aba send Nft