Jolly Roger

Jolly Roger

Build and Deploy for Eternity.

Production-Ready Template To Build Decentralised Applications

Use it:

pnpm create jolly-roger my-app

Find out more on github

Showcase

Here are examples of apps built using "Jolly Roger"

Bleeps
bleeps.art

The Bleeps DAO and Its Fully Onchain Sounds

The First Composable Sounds Fully Generated On-Chain With Zero Externalities, no backend, no ipfs, no client-code, and a melody minter where some of the proceeds goes to the Bleeps DAO and its members

Check the source code.

Mandalas
mandalas.eth.limo

On-chain Generative Bitmaps With Zero Externalities

The First On-Chain Generative Art Project to make full use of token URI to remove all external dependencies. It generates SVG and Bitmap from the smart contract directly.

Check the source code.

Conquest
conquest.game

A Game of Strategy and Diplomacy Running on the EVM

An unstoppable game of strategy and diplomacy running on the EVM. It allows player to collaborate through on-chain alliances while remaining sovereign. A first of its kind.

Check the source code.

Features

All Included

This template includes setup for smart contracts and frontend. All runs locally for the best-in-class developer experience.

PWA Ready

The web app is a fully-configured PWA with offline caching and service worker support.

Great Dev Experience

Hardhat v3 + hardhat-deploy v2 + rocketh for contracts; SvelteKit 5 + Vite for the frontend, with HMR.

Everything Hot Reload

On contract changes, contracts keep their address and code get updated automatically. On frontend changes, module get replaced using blazing fast Vite es module hot reload.

Built-in Explorer & Contract Interaction

An in-browser explorer for addresses and transactions, plus a UI to interact directly with your deployed contracts.

Fully IPFS Ready

Fully IPFS ready with proper url routing. The web app works on both IPFS urls and ENS/DNS urls. PWA works on IPFS too with scoped service workers.

All in Typescript

The whole app, including the contract tooling and frontend, is written in TypeScript.

Code Splitting and Tree Shaking

By using SvelteKit (and so Vite) and ES modules, the frontend benefits from code splitting, dynamic imports, and tree shaking.

Works Out of the Box

No editor-specific setup required. Clone, install, and everything runs: contracts and frontend, with tests, formatting and hot reload ready to go.

One command deploy

Everything is set up, except for the private ENV variable to deploy the contracts.