Try โ€‚โ€‰HackMD

Head Ambassador Seeding Vote

These are the steps necessary to start a referendum to be included into the intitial seeding list of the Ambassador Program as Head Ambassador.

1. Prepare the Preimage on the Collectives Chain

  • Go to PolkadotJS and decode this extrinsic.
  • Click on Submission to modify the parameters:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • Replace the addess in both fields with your address.
  • Copy the encoded call data (not the hash!)
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • This will look different for everyone.

2. Prepare the Preimage on the Relay chain

  • Go to the Relay chain with this link.
  • Click on Submission again and paste the preimage from above in the call: XcmDoubleEncoded field in the bottom:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • You can add more applications by adding more Transact items to the XCM here:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • Once you are done, again copy the encoded call data.

3. Place the preimage on the Relay Chain

  • Go to Developer->Extrinsic
  • Create a Preimage::notePreimage(bytes) extrinsic.
  • The bytes are pasted from the relay preimage that we created above.
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • Click on Submit Transaction. Note that it will reserve a deposit for the preimage; having about 50 DOT on the address is a good idea.
  • Go to Governance->Preimages and find youre preimage there:
  • It should look something like this:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’
  • Copy the Hash and Length for later.
  • If you want to double-check these values, you can go to Developer->Storage and query Preimage::preimageFor with these details. It should print the Relay Preimage that was pasted in there earlier:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’

4. Create Referendum

5. Testing

  • Clone the moonbeam-tools repo.
  • Run a local chopstick fork of the Polkadot Relay and Collectives parachain with: npx @acala-network/chopsticks@latest xcm -r polkadot -p polkadot-collectives
  • Run the proposal with: npx ts-node src/tools/fast-execute-chopstick-proposal.ts --url ws://localhost:8001 --proposal-index NUMBER Be sure to replaceNUMBER with your referendum index.
  • If you get a weird Javascript error, then try npm install first inside the repo.
  • Now go to the local chopstick collectives chain here and check for Developer->Chain State and query AmbassadorCollective->members and uncheck the checkbox. Then you should see your account in the list:
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More โ†’