Skip to content

dewiz-xyz/sky-solidity-bootstrap

Repository files navigation

Sky Solidity Bootstrap

Standardized project structure for Solidity projects following the Sky Protocol's standards.

Features

  • Standard directory structure
  • Default .gitignore
  • Default .editorconfig to avoid conflicting editor settings (see editorconfig)
  • Includes common dependencies (see forge-std and dss-test)
  • Includes common script niceties from dss-test
  • Includes basic formal verification rules and config for Certora

Usage

Choose sky-solidity-bootstrap template when creating a new repository through the GitHub UI.

Update Dependencies

This template might have stale dependencies. To update them, run:

forge update forge-std
forge update dss-test

Deployment Scripts

Simulate the deployment of a Counter contract on Mainnet, using the CounterDeployScript script.

  1. Copy script/input/1/template-counter-deploy.json to script/input/1/counter-deploy.json.
  2. Change the initial value in counter-deploy.json.
  3. Run the deployment script:
FOUNDRY_EXPORTS_OVERWRITE_LATEST=true FOUNDRY_ROOT_CHAINID=1 FOUNDRY_SCRIPT_CONFIG='counter-deploy' \
    forge script CounterDeployScript --fork-url $ETH_RPC_URL --sender $ETH_FROM -vvv

Alternatively, pass the script config as text:

FOUNDRY_EXPORTS_OVERWRITE_LATEST=true FOUNDRY_ROOT_CHAINID=1 FOUNDRY_SCRIPT_CONFIG_TEXT='{"initial": 42}' \
    forge script CounterDeployScript --fork-url $ETH_RPC_URL --sender $ETH_FROM -vvv

Add --broadcast to broadcast the transactions.

Tip

Notice that .env is supported. Check .env.example for more details.

About

Boilerplate for Solidity project following the Sky Protocol established patterns

Resources

License

Stars

Watchers

Forks