Jolly Roger is a production-ready template for decentralised applications.
We are assuming here that you already setup your env as specified in the initial setup section
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
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
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>
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