Skip to main content

SNS testing

Advanced
Governance
Concept

Before SNS creation, it is advisable to thoroughly test the process.

Testing an SNS launch

Developers can test on a local machine. The sns-testing repository contains scripts that help developers test the SNS creation process. They can deploy the dapp in a local canister development environment and run through the stages of decentralizing their dapp.

The main intent of the sns-testing repo is for a developer to test the actual process of decentralizing their dapp.

Among other things, developers can use the sns-testing repo to:

  • Initiate proposals.
  • Pass proposals.
  • Start decentralization swaps.
  • Upgrade the dapp via DAO voting.

sns-testing is just one form of testing the SNS process locally. Developers should feel free to use others, fork/modify sns-testing, or create their own.

Testing dapp maintenance under SNS control

While testing on a local machine primarily focuses on testing an SNS launch, it is also recommended that developers test how the dapp works after it has been decentralized and that the dapp can be managed fully by a DAO. This might require giving some of the permissions that were previously given to admins to DAO canisters, or adding new custom proposals and testing that all required flows are covered by these new mechanisms.

Among other things, here are some examples of issues developers find when testing a post-launch SNS:

  • They need a better pipeline for creating proposals to update a dapp.
  • They may have decentralized prematurely and need to fix some things.
  • They may need better monitoring before decentralizing.

These post-launch aspects can also be tested on a local machine. However, as the details are very dapp-specific, the next page focuses on explaining the testing of the SNS launch.