Skip to content
/ jolly-roger Public template

Build and Deploy for Eternity. Jolly Roger is a production-ready template for decentralised applications.

Notifications You must be signed in to change notification settings

wighawag/jolly-roger

Repository files navigation

Jolly Roger

Jolly-Roger Logo

Twitter GitHub commit activity open issues


Build and Deploy for Eternity

Jolly Roger is a production-ready template for decentralised applications.

How to use?

We are assuming here that you already setup your env as specified in the initial setup section

install dependencies

Note here that while you can use pnpm i, we recommend you follow the instruction here so you can have everything setup with your own project's name.

pnpm boot

This will set the app name to the folder nane or the name you provide (and change the files to reflect that) and then call pnpm i

You can also manually set the name yourself :

pnpm set-name [<new name>] && pnpm i

start!

Then Assuming you have zellij installed

pnpm start

And you are ready to go!

Note that if you do not have zellij (on windows for example) you can use wezterm

pnpm start:wezterm

Or you can also launch each component in their own process

pnpm local_node
pnpm contracts:compile:watch
pnpm contracts:deploy:watch
pnpm common:dev
pnpm indexer:dev
pnpm web:dev

Deploying to a network

Just execute the following

pnpm contracts:deploy:prepare <network>

and it will ask you few questions and get your .env.local setup with the var needed to deploy on the network of your choice.

You just need to have a endpoint url and mnemonic ready for it.

You can of course configure it manually with more option if you need

Then you can deploy your contract

pnpm contracts:deploy <network>

And you can verify the contract

  • on etherscan:
pnpm contracts:verify <network> etherscan
  • using sourcify:
pnpm contracts:verify <network> sourcify

for etherscan if the network is not supported by default (no endpoint), you can provide your own:

pnpm contracts:verify <network> etherscan --endpoint <api endpoint url>

Initial Setup

You need to have these installed

Then you need to install the local dependencies with the following command:

pnpm i

We also recommend to install zellij to have your dev env setup in one go via pnpm start