It has been a while since we did not released and upgraded to a new runtime, and it was never done on ĞDev5. With the new subsquid indexer I think we have the tools to understand a bug if there is any.
Here are the main updates of runtime-401:
MR !112 more detailed error messages when identity creation fails
MR !133 improve documentation of runtime calls (will be visible in polkadotjs app)
It is compatible with client v0.4.1 which is available on latest docker image (duniter/duniter-v2s:latest) and which comes with a lot of docker improvement and substrate v0.9.32 features. Most of the nodes are running a version very close even it is labeled v0.3.0.
I got two proposal_hash in the srtools json. The second one match the H256 (Hash) of the proposal number 6.
But when I am voting, I give the hash H256 (Hash) of the proposal number 6, keep the index at 0 (do not know what it is), then select “Yes”.
The response is an error TechnicalCommitee.ProposalMissing
When I put 6 as the index, same error. May be the hash is not good after all…
The procedure really needs a clear documentation on a wiki.
It was a pain to find info spread on the forum messages here (I blame no one here, and may be I will do it and publish a personal doc soon, if my attempt is a success ).
EDIT:
The hash to provide is this ?
0xe377706f91aea6f20911f2bb750de9c267fd1019227424dbd64465e732c85efb
No, this is the runtime’s hash, that is included in the call contained in the proposal. You must approve the proposal’s hash, which can be found by 2 ways:
storage: proposalOf (it’s the key)
storage: proposals
And at high level by 2 ways:
high level polkadot JS tab
Gcli
In this case it’s 0x946a95ab1c79a5c97e143ceb2d6ee98f181d0bca28c09770f46abe3d57cb140c.
Using the RPC API you may find 512b hashes, then the proposal’s hash is the second half.
Cela nécessite d’avoir installé au préalable l’extension navigateur polkadot{.js} et d’y avoir ajouté ton mnemonic Ğecko (avec le bon chemin de dérivation si nécessaire, je ne sais plus où on en est de ce point de vue).
You have to read messages 5 and 6, this issue remains to be fixed. A chmod is necessary.
#️⃣ Blake2-256 hash: 0x59e84456b6e8ae8e8ddba9e4617e673e1569773d359989e689ada34206d0f8d3 which is the hash of the runtime (the output binary)
🗳️ system.setCode hash: 0xe377706f91aea6f20911f2bb750de9c267fd1019227424dbd64465e732c85efb which is the hash of the scale encoded call to upgrade the runtime to this version
in the proposal (screenshot below), you can see three hashes:
0xe3777... which is the hash of the “system.setcode” call we are voting for. The call is not submitted yet, but it can be published after the vote is accepted, since there is no need to upload a runtime to the blockchain if it is rejected
0xf7dc7... which is the hash of the “schedule.schedulenamedafter” call allowing us to schedule a call in the future
0x946a9... which is the hash of the proposal, the one we have to vote for
But as shown above, there is no need to perform this call manually because the pallet collective we are using for the “technical committee” has been implemented in recent version of polkadotjs app. And so there is a rather intuitive interface to cast the vote.
Threshold reached 7/7. It is no longer possible to vote once the threshold is reached. Ready to be close.
I voted on proposal index 4 from py-substrate-interface!
The runtime has been successfully uploaded in block 1 387 375. It will be applied as scheduled at block 1 487 644 (next Tuesday if we do not loose smith in the meantime).