Hey, thank you both for the help.
My bash version is: GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
@bitdivine
Hey, thank you both for the help.
My bash version is: GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
@bitdivine
Hey @Severin did you find out anything new about this?
No, let me ping @bitdivine again.
Patiently waiting for an answer @Severin @bitdivine.
Hello. Apologies for the delay in responding. Would you be available for a call? Maybe we can get an SNS working for you fully in half an hour or so, that might be much better than async. Which timezone are you in? What times are typically good for you?
Another thing that may help: There is an automated demo that goes through the whole process of setting up an SNS. The repo is slowly becoming deprecated and the README has long since been moved to the link you are following above but the code in the snsdemo is tested in CI, and the flow there is known to work with the latest SNS. If you have the whole flow working in CI you may be able to spot where the behaivour is different from the results you are seeing locally.
Hey, that would be awesome and I think a call with you would help the most. My time zone is CET/MEZ. It suits me best in the morning on Monday or Tuesday from the time 10-14. If it doesn’t suit you there, please tell me your times!
I had a closer look. I believe that the parse error is actually from failing to parse a response from the IC.
I had a run through the document. There is a step missing, if I am not mistaken. After the dfx nns install
the nns-sns-wasm
canister is still uninitialized; it needs wasms to deploy when it creates the SNS. In the snsdemo
repo this is accomplished with the two commands dfx-sns-wasm-download && dfx-sns-wasm-upload
that get the wasms from dfinity and upload them to the local canister. If I execute those two steps then the dfx sns deploy
works. Let’s still meet to make sure that you get through the whole process. Nothing is less helpful than someone else saying “it works for me”.
On our side we can update the document or, better, include the wasm upload in dfx nns install
.
Also, it looks as if the dsale proposal command needs to be updated. We can cover that in the call and then get the manual updated.
These are the commands I ran:
Check identities:
* Majority stakeholder
* Developer id has a pem file
* Network settings
==========
I needed a developer identity so ran:
dfx identity new --storage-mode plaintext developer-identity
=========
dfx start --clean --background
dfx nns import
dfx sns import
dfx ledger balance --identity nns-ledger-default-identity
# These two steps are missing. I added the snsdemo repo bin dir to my path to run them:
dfx-sns-wasm-download
dfx-sns-wasm-upload
# Get developer neuron ID
export DEVELOPER_NEURON_ID=<neuron id>
# Add this hotkey to the neuron
dfx --identity developer-identity identity get-principal
$(dfx cache show)/ic-admin --secret-key-pem ~/.config/dfx/identity/$(dfx identity whoami)/identity.pem --nns-url "http://localhost:$(dfx info replica-port)" propose-to-update-sns-deploy-whitelist --added-principals "$(dfx identity get-wallet)" --proposer "$DEVELOPER_NEURON_ID" --proposal-title "Let me SNS!" --summary "I am friendly."
# Now open a browser and in the nns-dapp, vote as the majority neuron. Neeed to adjust the filter on the proposals page to show SNS proposals.
dfx --identity developer-identity ledger fabricate-cycles --canister $(dfx identity get-wallet) --t 2345
dfx --identity developer-identity wallet balance
cp ../snsdemo/logo.png ../snsdemo/sns.yml .
dfx sns deploy
# The sale proposal is now with ic-admin. I believe that sns dsale is deprecated.
dfx-sns-sale-propose --neuron $DEVELOPER_NEURON_ID
# Now vote as the majority neuron.
# Got to the launchpad and refresh. You should see the sale open. Note: IRL, there is a minimum 1-day delay between the proposal passing and the sale opening.
Regarding “argument list too long” - this turned out to be because the logo was too large. A 200kb image encoded as text so probably a 270000 character long command line. The tool probably needs to pass in the logo in a different way or enforce a maximum size so that the user knows what went wrong.
rs/sns/swap/canister/canister.rs:123:21\
#[candid_method(query, rename = "list_community_fund_participants")]
fn list_community_fund_participants_(
request: ListCommunityFundParticipantsRequest,
) -> ListCommunityFundParticipantsResponse {
log!(INFO, "list_community_fund_participants");
swap().list_community_fund_participants(&request)
}```
this function throws error when sns executes a start swap proposal. what is going on ?
Everything about SNS deployment is changing very quickly at the moment, and our docs are often out of date. Right now, you’ll find the most up to date information in this repo including a bunch of ready-to-use scripts
yeah i thought so. already looking into snsdemo. thanks and nice
I spent 3 days debugging this, only to find this simple solution here. LOL
Good luck with your launch! And hopefully the error messages will get better.