https://github.com/notrustverify/chainreaction
https://github.com/notrustverify/chainreaction
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/notrustverify/chainreaction
- Owner: notrustverify
- Created: 2026-02-06T08:13:41.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-14T08:35:44.000Z (4 months ago)
- Last Synced: 2026-02-14T16:55:31.675Z (4 months ago)
- Language: TypeScript
- Homepage: http://game.notrustverify.ch/
- Size: 1.38 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chain Reaction
A last-player-wins game on the [Alephium](https://alephium.org) blockchain.
## How it works
1. **Someone starts a chain** by choosing a token (ALPH or any supported token), setting an entry price, a countdown duration, and a price increase percentage.
2. **Players join** by paying the current entry price, which increases with each new player (e.g. +10% per join). Every join resets the countdown timer.
3. **The timer shrinks** — each new player slightly reduces the remaining duration, ratcheting up the pressure.
4. **When the countdown expires**, the last player to have joined wins the entire pot. Anyone can trigger the payout.
Anyone can also **boost the pot** by adding extra tokens at any time, making the prize more attractive without resetting the timer.
## Smart contract
The game runs entirely on-chain via a single Ralph contract (`ChainReaction`). Key mechanics:
- **Entry price escalation**: each join costs `currentEntry + (currentEntry * multiplierBps / 10000)`, where `multiplierBps` is set by the chain starter (e.g. 1000 = 10%)
- **Duration decrease**: the countdown shrinks by a fixed amount per player, down to a configurable minimum — the more players, the faster the clock runs out
- **Multi-token support**: chains can use ALPH or any Alephium token
- **No admin keys**: the contract has no owner and no special privileges — anyone can start a chain, join, boost the pot, or trigger the payout
## Project structure
- `app/` — Next.js frontend (React, Tailwind CSS, `@alephium/web3-react`)
- `contracts/` — Ralph smart contract and deployment scripts
## Local development
### Prerequisites
- [Node.js](https://nodejs.org/) and [Yarn](https://yarnpkg.com/)
- A running Alephium devnet — see the [Getting Started docs](https://docs.alephium.org/full-node/getting-started#devnet)
### Setup
```bash
yarn install
yarn compile
yarn deploy
yarn dev
```
### Wallet
Download an [Alephium wallet](https://alephium.org/#wallets) and connect it to your devnet.
## Deployment
The app is configured for static export and can be deployed to GitHub Pages. Environment variables:
- `NEXT_PUBLIC_NETWORK` — `devnet`, `testnet`, or `mainnet`
- `NEXT_PUBLIC_NODE_URL` — Alephium full node URL
## Url parameters
theme : forces the use of a custom theme
tokens : comma-separated list of token IDs that are allowed when creating a game
exemple :
https://game.notrustverify.ch/game?address=23hX2w3VFzwzNs1TTCbJiYHuhqKjRpyp5dWe5PJ64MNBR&theme=elexium&tokens=cad22f7c98f13fe249c25199c61190a9fb4341f8af9b1c17fcff4cd4b2c3d200
## Built by
[No Trust Verify](https://notrustverify.ch)