Skip to content

Commit 5642126

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

29 files changed

+2427
-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: 23 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,20 @@
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.
11+
> Next generation full-stack boilerplate for ink! smart contracts running on PolkaVM. Powered by Papi, ReactiveDOT, Pop CLI, and more.
1612
17-
The boilerplate rebuild features:
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)**
1816

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).
25-
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)
35-
36-
### 1. Run the frontend
17+
## Quickstart ⚡
3718

3819
> [!IMPORTANT]
3920
>
@@ -51,116 +32,25 @@ cd <project-name>
5132
bun run dev
5233
```
5334

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
88-
89-
Put your signers `ACCOUNT_URI` in `.env.<chain>` (e.g. `.env.pop`). By default, the `//Alice` account is used.
90-
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-
---
35+
Learn more in the [documentation](https://docs.inkathon.xyz).
10236

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).
37+
## About the project
10838

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! 🎉
39+
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).
11240

113-
---
41+
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.
11442

115-
### 4. Adding a new network
43+
## What's new in v6?
11644

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-
```
45+
The boilerplate has been completely rebuilt with:
13046

131-
3. Add the new network to the frontend under `frontend/src/lib/reactive-dot/config.ts`
47+
- **Full ink! v6 support** with PolkaVM compatibility
48+
- **Type-safe contract interactions** via PAPI
49+
- **Modern stack**: Bun, Next.js 15, React 19, Tailwind CSS v4
50+
- **Improved DX**: Better build scripts & deployment automation
51+
- **Production-ready**: Docker support, self-hosting optimized
52+
- **New `create-inkathon-app` CLI** for setting up the boilerplate in seconds
53+
- **New [documentation](https://docs.inkathon.xyz)** with educational resources & guides
13254

133-
## Hosting 📡
134-
135-
### Self-hosting
136-
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`.
138-
139-
Try to build & run the Docker image locally:
140-
141-
```bash
142-
# Executed from the root directory
143-
docker build -t inkathon .
144-
docker run -p 3000:3000 inkathon
145-
```
146-
147-
### Vercel
148-
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
152-
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
55+
> [!NOTE]
56+
> The old ink! v5 compatible boilerplate is available on the [`v1` branch](https://github.com/scio-labs/inkathon/tree/v1).

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)