Jolly Roger

Jolly Roger






Production-Ready Template To Build Decentralised Applications

Use it:

npx degit wighawag/jolly-roger your-app-folder

Find out more on github


Here are examples of apps built using "Jolly Roger"

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.



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.



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.

Source code not yet available.


All Included

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

PWA ready: 100% Lighthouse score

The web app is fully PWA compliant, with offline caching, etc... The javascript code necessary to launch the app is less than 50kB (15kB compressed), including the home page content. Achieves 100% score on a barebone page without extra themes

Great Dev experience

Foundry for contracts, forge-deploy for contract deployment, the in-browser ethereum-indexer for contract's api, svelte + Svelte Kit for frontend with HMR (Hot Module Replacement) and production build.

Everything Hot Reload

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

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 indexer and, is written in typescript.

Code Splitting and Tree Shaking

By using Svelte Kit (and so Vite) and ES modules, the frontend benefit from code splitting an dynamic imports as well as tree shaking.

VSCode Setup

The repo is setup as a vscode workspace with recommended plugins. Execute tests from the editor. Auto format, etc...

One command deploy

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