Skip to content

Commit 2f9014c

Browse files
committed
feat: Improve docs, readme, banners
1 parent 4343204 commit 2f9014c

29 files changed

+2430
-296
lines changed

.changeset/tasty-crabs-study.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'create-inkathon-app': patch
3+
---
4+
5+
Add link to new documentation

README.md

Lines changed: 26 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,24 @@
1-
# inkathon v6 Boilerplate (Alpha)
1+
![inkathon Banner](frontend/public/inkathon-readme-banner.png)
2+
3+
# inkathon v6
24

35
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
46
[![Built with ink!](https://raw.githubusercontent.com/paritytech/ink/master/.images/badge.svg)](https://use.ink)
57
![Rust](https://img.shields.io/badge/Rust-000000?logo=rust&logoColor=white)
68
![TypeScript](https://img.shields.io/badge/TypeScript-000000?logo=typescript&logoColor=white)
79
![Next.js](https://img.shields.io/badge/Next.js-000000?logo=next.js&logoColor=white)
810

9-
> Next generation full-stack boilerplate for ink! smart contracts running on PolkaVM. Powered by Papi, ReactiveDOT, Pop CLI, and more. – Perfect for kickstarting building hackathon projects.
10-
11-
**Join the discussion in our [Telegram Group](https://t.me/inkathon)** 💬
12-
13-
## About 📖
14-
15-
The inkathon boilerplate offers a complete setup for developing full-stack dApps on Polkadot with ink! smart contracts and Next.js. It now shines in new glory with full ink! v6 support powered by Papi, ReactiveDOT, Pop CLI, and more.
16-
17-
The boilerplate rebuild features:
18-
19-
- Full ink! v6 support & type-safety
20-
- Revamped build, deployment, and address management scripts
21-
- Updated stack with Bun, Next.js v15, Tailwind CSS v4 & shadcn/ui
22-
- New `create-inkathon-app` CLI for setting up the boilerplate in seconds
23-
24-
The inkathon boilerplate is almost as old as ink! itself. With accumulated over 200 stars, more than 250 public projects depending on it and the most active [ink! Telegram group](https://t.me/inkathon).
11+
> Next generation full-stack boilerplate for ink! smart contracts running on PolkaVM. Powered by Papi, ReactiveDOT, Pop CLI, and more.
2512
26-
> [!NOTE]
27-
> The old ink! v5 compatible boilerplate is available on the [`v1` branch](https://github.com/scio-labs/inkathon/tree/v1).
28-
29-
## Getting Started 🚀
30-
31-
- [1. Run the frontend](#1-run-the-frontend)
32-
- [2. Build & deploy contracts on a local node](#2-build--deploy-contracts-on-a-local-node)
33-
- [3. Connect the frontend to the local node](#3-connect-the-frontend-to-the-local-node)
34-
- [4. Adding a new network](#4-adding-a-new-network)
13+
- 🤖 **Check out the [live demo](https://inkathon.xyz)**
14+
- 📖 **Explore our new [documentation](https://docs.inkathon.xyz)**
15+
- 💬 **Join the discussion on [Telegram](https://t.me/inkathon)**
3516

36-
### 1. Run the frontend
17+
## Quickstart ⚡
3718

3819
> [!IMPORTANT]
3920
>
40-
> - Setup Node.js v22 (recommended via [nvm](https://github.com/nvm-sh/nvm))
21+
> - Setup Node.js v20 or v22 (recommended via [nvm](https://github.com/nvm-sh/nvm))
4122
> - Install [Bun](https://bun.sh/)
4223
4324
Use the new `create-inkathon-app` CLI to set up the boilerplate:
@@ -47,120 +28,32 @@ bunx create-inkathon-app@latest
4728

4829
cd <project-name>
4930

50-
# Executed from the root or /frontend directory
5131
bun run dev
5232
```
5333

54-
---
55-
56-
### 2. Build & deploy contracts on a local node
57-
58-
> [!IMPORTANT]
59-
>
60-
> - Setup your environment with Pop CLI: [Guide](https://learn.onpop.io/welcome/install-pop-cli)
61-
> - Install `cargo-contract` with `cargo install cargo-contract@6.0.0-alpha --locked`
62-
> - Install `ink-node` by [downloading it's binary](https://github.com/use-ink/ink-node/releases)
63-
> - Make `ink-node` available globally by moving it to `/usr/local/bin` with `sudo mv ink-node /usr/local/bin/`
64-
65-
1. Add your contract (or just continue with the provided `flipper` example)
66-
2. Build your contract
67-
68-
```bash
69-
# Executed from the /contracts directory
70-
bun run build
71-
```
72-
73-
3. Run the local `ink-node` in the background
74-
75-
```bash
76-
# Executed from the /contracts directory
77-
bun run node
78-
```
79-
80-
4. (Re-)generate PAPI types
81-
82-
```bash
83-
# Executed from the /contracts directory
84-
bun run codegen
85-
```
86-
87-
5. Deploy your contract
34+
Learn more in our new [documentation](https://docs.inkathon.xyz).
8835

89-
Put your signers `ACCOUNT_URI` in `.env.<chain>` (e.g. `.env.pop`). By default, the `//Alice` account is used.
36+
## About the project
9037

91-
```bash
92-
# Executed from the /contracts directory
93-
# If `CHAIN` is not set, it will default to `dev`
94-
CHAIN=dev bun run deploy
95-
```
96-
97-
> [!NOTE]
98-
>
99-
> The `deploy.sh` script triggered by `bun run deploy` will automatically export the deployed contract addresses under `/contracts/deployments/<contract>/<chain>.ts`. These files are used to be cross-imported in the frontend in `frontend/src/lib/inkathon/deployments.ts`.
100-
101-
---
102-
103-
### 3. Connect the frontend to the local node
104-
105-
> [!NOTE]
106-
>
107-
> Tip: You can also run Next.js and `ink-node` in parallel via `bun run dev-and-node` (executed from the project root).
108-
109-
1. Go to `frontend/src/lib/reactive-dot/config.ts` and uncomment the `dev` chain
110-
2. Go to `frontend/src/lib/inkathon/deployments.ts` and uncomment the `dev` address imports & exports
111-
3. That's it! 🎉
112-
113-
---
114-
115-
### 4. Adding a new network
116-
117-
1. (Re-)generate PAPI types
118-
119-
```bash
120-
# Executed from the /contracts directory
121-
bunx papi add -w <websocket-url> <chain-name>
122-
```
123-
124-
2. (Re-)deploy your contract
125-
126-
```bash
127-
# Executed from the /contracts directory
128-
CHAIN=<chain-name> bun run deploy
129-
```
130-
131-
3. Add the new network to the frontend under `frontend/src/lib/reactive-dot/config.ts`
132-
133-
## Hosting 📡
38+
The inkathon boilerplate is almost as old as ink! itself. With over 200 stars, more than 250 public projects depending on it, and the most active [ink! Telegram group](https://t.me/inkathon).
13439

135-
### Self-hosting
40+
It offers a complete setup for developing full-stack dApps on Polkadot with ink! smart contracts and Next.js and now shines in new glory with full ink! v6 support. Powered by Papi, ReactiveDOT, Pop CLI, and more.
13641

137-
This new version of the boilerplates treats self-hosting as a first-class citizen. The boilerplate comes with a state-of-the-art Dockerfile configuration for Next.js self-hosting. We even have a self-hosted version of inkathon.xyz running under `https://inkathon.scio.xyz`.
42+
## New Features in v6
13843

139-
Try to build & run the Docker image locally:
44+
The boilerplate has been completely rebuilt with:
14045

141-
```bash
142-
# Executed from the root directory
143-
docker build -t inkathon .
144-
docker run -p 3000:3000 inkathon
145-
```
46+
- **Full ink! v6 support** with PolkaVM compatibility
47+
- **Type-safe contract interactions** via PAPI
48+
- **Modern stack**: Bun, Next.js 15, React 19, Tailwind CSS v4
49+
- **Improved DX**: Better build scripts & deployment automation
50+
- **Production-ready**: Docker support, self-hosting optimized
51+
- **New `create-inkathon-app` CLI** for setting up the boilerplate in seconds
52+
- **New [documentation](https://docs.inkathon.xyz)** with educational resources & guides
14653

147-
### Vercel
54+
## Changelog
14855

149-
The boilerplate is also ready to be deployed to Vercel using the `vercel.json` configuration file at the root of the project.
150-
151-
## To-Dos
56+
> [!NOTE]
57+
> The old ink! v5 compatible boilerplate is available on the [`v1` branch](https://github.com/scio-labs/inkathon/tree/v1).
15258
153-
> [!IMPORTANT]
154-
>
155-
> This is an alpha release. Use it at your own risk.
156-
157-
- [x] Network Selector
158-
- [x] Show Balance in UI
159-
- [x] Account/Address Switcher
160-
- [x] Indicator & Action to map accounts
161-
- [x] Faucet Direct Links
162-
- [x] Dockerfile for self-hosting
163-
- [x] Rust VSCode setup
164-
- [x] Claude & Cursor Rules
165-
- [x] New `create-inkathon-app` CLI for setting up the boilerplate
166-
- [ ] Chain configuration via environment
59+
The v6 changelog is available on the [GitHub releases page](https://github.com/scio-labs/inkathon/releases).

bun.lock

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

create-inkathon-app/src/cleanup.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { readdir, rm } from "node:fs/promises"
22
import { join } from "node:path"
33

4-
const DIRECTORIES_TO_REMOVE = [".changeset", ".github", "create-inkathon-app", "docs"]
4+
const DIRECTORIES_TO_REMOVE: string[] = [".changeset", ".github", "create-inkathon-app", "docs"]
5+
const FILES_TO_REMOVE: string[] = []
56

67
async function cleanupDirectories(projectPath: string): Promise<void> {
78
for (const dir of DIRECTORIES_TO_REMOVE) {
@@ -13,6 +14,16 @@ async function cleanupDirectories(projectPath: string): Promise<void> {
1314
}
1415
}
1516

17+
async function cleanupFiles(projectPath: string): Promise<void> {
18+
for (const file of FILES_TO_REMOVE) {
19+
try {
20+
await rm(join(projectPath, file), { force: true })
21+
} catch (error) {
22+
// Silently continue if file doesn't exist
23+
}
24+
}
25+
}
26+
1627
async function cleanupChangelogFiles(projectPath: string): Promise<void> {
1728
async function removeChangelogsRecursively(dir: string): Promise<void> {
1829
const entries = await readdir(dir, { withFileTypes: true })
@@ -41,5 +52,6 @@ async function cleanupChangelogFiles(projectPath: string): Promise<void> {
4152

4253
export async function cleanupRepository(projectPath: string): Promise<void> {
4354
await cleanupDirectories(projectPath)
55+
await cleanupFiles(projectPath)
4456
await cleanupChangelogFiles(projectPath)
4557
}

create-inkathon-app/src/utils/messages.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ export function displayIntro(): void {
1515
console.log("Next generation full-stack boilerplate for ink! smart contracts")
1616
console.log("running on PolkaVM. Powered by Papi, ReactiveDOT, Pop CLI, and more.")
1717
console.log()
18-
console.log(`• Demo: ${pc.cyan("https://inkathon.xyz")}`)
18+
console.log(`• Live Demo: ${pc.cyan("https://inkathon.xyz")}`)
19+
console.log(`• Docs: ${pc.cyan("https://docs.inkathon.xyz")}`)
1920
console.log(`• Repository: ${pc.cyan("https://github.com/scio-labs/inkathon")}`)
2021

2122
console.log()

docs/content/docs/about.mdx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: About
3+
description: Kickstart your ink! hackathon projects and production dApps.
4+
---
5+
6+
## The Project
7+
8+
The inkathon boilerplate is almost as old as ink! itself. With over 200 stars, more than 250 public projects depending on it, and the most active [ink! Telegram group](https://t.me/inkathon).
9+
10+
It offers a complete setup for developing full-stack dApps on Polkadot with ink! smart contracts and Next.js and now shines in new glory with full ink! v6 support. Powered by Papi, ReactiveDOT, Pop CLI, and more.
11+
12+
## New Features in v6
13+
14+
The boilerplate has been completely rebuilt with:
15+
16+
- **Full ink! v6 support** with PolkaVM compatibility
17+
- **Type-safe contract interactions** via PAPI
18+
- **Modern stack**: Bun, Next.js 15, React 19, Tailwind CSS v4
19+
- **Improved DX**: Better build scripts & deployment automation
20+
- **Production-ready**: Docker support, self-hosting optimized
21+
- **New `create-inkathon-app` CLI** for setting up the boilerplate in seconds
22+
23+
## Changelog
24+
25+
<Callout title="ink! v5 Support">
26+
The old ink! v5 compatible boilerplate and documentation is available on the
27+
[`v1`](https://github.com/scio-labs/inkathon/tree/v1) branch.
28+
</Callout>
29+
30+
The v6 changelog is available on the [GitHub releases page](https://github.com/scio-labs/inkathon/releases).

0 commit comments

Comments
 (0)