The site behind selendra.org: marketing pages, the whitepaper, the blog, and the developer documentation.
Bun only. No npm, yarn or pnpm.
bun install
bun dev # http://localhost:3000
bun run build
bun startTests use Vitest.
bun test # watch mode
bun run test:coverageapp/ routes and the single stylesheet (app/globals.css)
components/ shared React components, ui/ holds the shadcn primitives
content/docs/ 67 documentation pages, markdown with frontmatter
content/blog/ blog posts
content/paper/ whitepaper.md
lib/ content loaders, network API, search index
hooks/ client hooks
tests/ Vitest specs for lib and components
Routes: /, /about, /about/branding, /blog, /docs, /ecosystem, /license, /network, /playground, /privacy, /status, /technology, /terms, /tools, /tools/address-converter, /use-cases, /whitepaper.
Docs live in content/docs/<section>/<page>.md. Frontmatter:
---
title: "Page title"
description: "One line for search results and the sidebar"
section: "Section name"
order: 3
---New pages also need an entry in lib/docs-sidebar-config.ts, which owns sidebar order and grouping.
Blog posts go in content/blog/ with title, excerpt, date, author, category and readTime. The whitepaper is a single file, content/paper/whitepaper.md.
Every factual claim about the chain (block time, chain IDs, validator counts, finality) has to trace back to the node repository or a live endpoint. Do not round numbers up, and do not restate a figure the chain cannot confirm.
Both variables have working defaults in lib/network-api.ts, so local development needs no .env. Copy .env.local.example to .env.local to point the site at a different network.
| Variable | Default | Purpose |
|---|---|---|
NEXT_PUBLIC_CHAIN_ENV |
mainnet |
Selects chain ID 1961 (mainnet) or 1953 (testnet) |
NEXT_PUBLIC_EXPLORER_API |
https://explorer.selendra.org/api/v2/stats |
Blockscout stats endpoint for live network numbers |
The build emits Next.js standalone output, so any Node 20 host can serve it. DOCKER.md covers the container path.
Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, Radix primitives, remark and rehype for markdown, highlight.js for code, Mermaid for diagrams.
Fonts are Inter and JetBrains Mono, loaded through next/font.
See CONTRIBUTING.md.
Code and content in this repository: MIT, see LICENSE. The Selendra node software is Apache-2.0 and lives in selendra/selendra. The name, logo and branding are not covered by either.