new to substrate. here are three modules: Democracy Council, TechnicalCommittee. i did some experiments on the local testnet ,but failed.

I know that the proposal under Democracy can execute sudo origin. so i did the following:

Democracy -> Submit preimage(system-> set_balance(sudo origin) and get this preimage hash) -> Submit proposal(input preimage hash)

if the proposal enters referenda and voted pass. this set_balance proposal will execute. this process will take a long time.

Council, TechnicalCommittee can speed up the process. and they all use collective pallet.

i use techcomm -> proposals -> Submit proposal:

democracy -> fastTrack(proposalHash is set_balance preimage hash)

vote and end time, I click the close button. but i get this error:


  Err: BadOrigin

why? fastTrack origin is FastTrackOrigin.

type FastTrackOrigin =pallet_collective::EnsureProportionAtLeast<AccountId, TechnicalCollective, 2, 3>;

i use TechnicalCommittee vote this proposal and close(execute) it, why Origin is BadOrigin?

If use Council and TechnicalCommittee, What the correct process should look like?

BTW,is there any more comprehensive documentation on this?. such as :


ADD: If i want to use fast_tack to setBalance, what is the correct way?


1 Answer 1


You are correct in stating that the fast_track call must have the origin FastTrackOrigin.

Remember that Polkadot has Sudo removed and fastTrack is something that the technical committee is responsible for so it makes sense that it has to come from the technical committee = fastTrackOrigin.

You could try adding yourself to the technical committee via the extrinsic technicalMembership > addMember then trying again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.