⛏ Witness School · MELEK · PRANA pool
SchoolDevTokenServicesLearnAcademyBuildWhitepaperRunPoolMineFeesServersWalletHathorLibrary

Build a front-end · fork a real template, point it at our RPC/APIs

You don't start from scratch. Every front-end in the ecosystem is open source — fork the one closest to what you want and repoint it. Below: the real templates, the two Hive-style app patterns people ask for (APPICS and PIZZA), and the minimal code to point any page at the MELEK / PRANA RPCs.

The templates — fork these

TemplateRepoWhat it is
MELEK condenser (social front-end)HinduTempleCoins/melek-condenserThe full MELEK web app — posts, votes, wallet. A condenser fork (the Hive/Steem web client). Point it at the MELEK RPC + chain id and it is your social front-end.
KulaSwap (DEX front-end)HinduTempleCoins/KULASwapThe Uniswap-V2-style DEX UI + DeFi (swap, CDP, veKULA, farms). Fork it, point it at the PRANA RPC + the router/factory on /dev/contracts, and you have a DEX.
Nitrous (SCOT tribe front-end)HinduTempleCoins/Botengine/nitrous/render.mjs — a per-token branded read-only site generator. Give it a symbol + theme; it renders that tribe. Reuses the engine read API.
Hathor chat embedHinduTempleCoins/BotA client-side chat widget (in the Bot repo) — it runs live on pool.soapbox.community. Client-side; drop it into a page to add the AI Witness as a helper.

Everything is under github.com/HinduTempleCoins. Hive's own front-ends (condenser, Nitrous) are open too — github.com/hive-engine.

Point a page at the chains — the minimum

EVM reads (PRANA) — viem in a plain HTML page

<script type="module">
import { createPublicClient, http, defineChain } from 'https://esm.sh/viem';
const prana = defineChain({
  id: 712217, name: 'PRANA',
  nativeCurrency: { name: 'PRANA', symbol: 'PRANA', decimals: 18 },
  rpcUrls: { default: { http: ['https://rpc.prana.melek.salon'] } },
});
const client = createPublicClient({ chain: prana, transport: http() });
document.body.textContent = 'PRANA head block: ' + await client.getBlockNumber();
</script>

Social reads (MELEK) — one fetch, no SDK

// A read-only MELEK feed widget — no SDK, no key, works in any page.
const r = await fetch('https://melek.salon/rpc', {
  method: 'POST', headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ jsonrpc: '2.0', id: 1,
    method: 'condenser_api.get_discussions_by_created',
    params: [{ tag: '', limit: 10 }] }),
});
for (const p of (await r.json()).result) render(p.author, p.title);

Writes: EVM → wallet-signed (MetaMask, see PRANA dev); MELEK → posting key or the keyless MELEK-Signer boundary (see MELEK dev). Reads never need a key.

APPICS-style — a tokenized social app

APPICS (on Hive) is a community-token social app with its own front-end. The path here uses our real building blocks:

  1. Launch a SCOT side-token on MELEK-Engine (/dev/scot) — your community coin that pays posters + curators.
  2. Point a Nitrous front-end (engine/nitrous/render.mjs) at that symbol — a branded feed for your token, out of the box.
  3. Users post on MELEK, your token rewards them, your front-end is the app. That's a tokenized social dApp with no custom chain and no Solidity.

PIZZA-style — a tipping / community-token bot

PIZZA (on Hive) is a bot that watches posts/comments and tips its token. The building blocks we actually ship (in engine/):

Honest: these are templates + building blocks in the repo, not a one-click hosted "tip bot" service. You run the bot; we give you every piece it needs and the signing boundary that keeps the key off the server.

SCOT side-tokens → · MELEK app dev → · PRANA contract dev → · All dev services →