Hi,
Has anyone managed to deploy an SNS in pocket IC and get it to the final stage ( point 11 ) of this document. Stages of an SNS launch | Internet Computer
Hi,
Has anyone managed to deploy an SNS in pocket IC and get it to the final stage ( point 11 ) of this document. Stages of an SNS launch | Internet Computer
is your question coming from the fact that you did not manage to achieve this? if so, what errors issue did you encounter?
or is this just a general question?
I did not test this yet, but maybe @mraszyk is able to quickly answer this
yes i didn’t manage to achieve this yet. I managed to deploy an SNS in PocketIC but there are many steps to get it to the final state. so if someone has a repo where they’ve done it then please post it
Hi @frederico02,
We have a number of PocketIc-based tests for the SNS framework in the ICP mono repo.
Here’s a fairly comprehensive one that runs through the SNS lifecycle: ic/rs/nervous_system/integration_tests/tests/sns_lifecycle.rs at master · dfinity/ic · GitHub
These tests are assembled from helpfer functions defined in ic/rs/nervous_system/integration_tests/src/pocket_ic_helpers.rs at master · dfinity/ic · GitHub
Let us know if you need further questions!
woohoo! thank you so much
I just also came across a potential update here:
@aterga can you maybe shortly explain what’s being improved there?
This is a bit off-topic, but worth mentioning — regarding the next-gen SNS testing tool:
The Serokell team is spearheading a community-driven project to bring the current sns-testing solution into the ICP mono repo (so it can be written in Rust and continuously tested against the latest SNS features). This initiative is also shaping a new, state-of-the-art methodology for test-driven dapp development on ICP, examplifying the smoothest possible way from dapp prototype to SNS launch.
At the core of this effort lies the PocketIC framework, the only approach capable of creating a fully deterministic environment for testing complex dapp scenarios — something classical testnets simply can’t provide.
Stay tuned for more details.
Am I correct in thinking you’ll be able to do something like
let pocket_ic = PocketIcBuilder::new()
.with_nns_subnet()
.with_sns_subnet()
.with_governance()
.build()
the with_governance()
builder function effectively adding on a fully finalized sns that is in it’s final state?
currently trying to copy over what you guys did to get the sns in it’s final state but its a lot of work and there are many deps / references to the ic repo
Hi @frederico02
the with_governance() builder function effectively adding on a fully finalized sns that is in it’s final state?
Not quite, there’s not builder that produces a fully finalized SNS in just one step. You’d need to run the simulation that end up with a launched SNS, which requires a few helpers, see examples lined above: Pocket IC - deploy SNS and complete launch process - #4 by aterga
Please also check out the NnsInstaller
builder. Here
there are many deps / references to the ic repo
True. I think your best bet to get something working quickly is to add your code to a fork of the mono repo itself. In the future, we might be able to publish some PocketIC snapshots that anyone would be able to install without needing all the dependencies, but we don’t have that ATM.