Dot Leap 13

Polkadot has decentralized! Also: if a chain has on-chain governance, is it a tokenholder's duty to vote? YES!

Thank you for taking the Dot Leap!

We cover Polkadot, Kusama, Substrate, and all related Web 3.0 projects!

The content in this newsletter is the author’s own opinion and not in any way endorsed by the Web3 Foundation. This is an independent and unaffiliated effort.


Looking for human-friendly explainers and tutorials on how to get started building tools and UIs for Substrate chains? Check out our parent site: DotLeap.com


Polkadot’s Decentralization

Sudo has been removed, its removal initiated by the July 20th Polkadot Council.

Acting members Jaco, Listen, Jack, Fabi, Jutta, Shawn Tabrizi, Joe, Jam, Gav, Wei, Polkascan Foundation, Bruno (yours truly!), and Chevdor approved the first Polkadot Council Motion which would put the governance of the Polkadot protocol into the hands of the People.

The next step was submitting the proposal to the Technical Committee for speed-up, after which, the motion became a fast referendum, needing 12 hours to vote, and 15 to be enacted.

On Tuesday, around 8am UTC+2, the Sudo module was removed. The network was released into the hands of the community. Soon thereafter, full governance functionality has been enabled.


Polkadot (v 0.8.19.)

👇👇👇 IMPORTANT 👇👇👇

General governance and Council elections have been activated in Polkadot. The council terms will first be daily, then weekly, then monthly, as a slow on-ramp for Council Member reputations and backing.

Yours truly is a candidate too, so if you think my contributions to the Polkadot ecosystem are worthy of your support, please consider voting for me. Here’s a post that explains my candidacy and shows the voting process in screenshots.

Redenomination

The on-chain poll to gauge support for DOT redenomination has passed at x100, meaning once transfers are enabled -about 3 weeks from now - everyone’s DOT balance will increase a hundredfold. This change is purely cosmetic and practical, not economic.

Coming Changes in Native Code

Among other things mentioned below in Core Stack:

  • Polkadot’s Council Seat Duration is 7 days now.

  • The token redenomination poll is removed.

  • Transfers are enabled.

  • Conviction from the sudo-removal referendum is removed.

All the above from here. This will be applied in the next runtime upgrade, once Referendum 1 passes (see below).

Polkadot Governance

  • Council Motion 0: An attempt to upgrade the runtime to remove Sudo was made, but a glitch in the UI which is shared between Kusama and Polkadot caused a wrong submission to go through - the wrong council approval threshold was set. The council voted it down to cancel it in favor of Motion 1.

  • Referendum 0 (Council Motion 1): A proper submission of Motion 0.

  • Referendum 1 (Council Motion 2): The runtime upgrade to allow Transfers to occur. Includes the updates from Coming Changes section above.

  • Council Motion 3: A proposal to cancel slashes caused by a slip-up of a well known validator, Parity dev Jaco, maker of Polkadot JS Apps. For a full discussion please see this chat archive (room: Polkadot Direction) and scroll to Andre’s message from July 27th around 5pm, and see Jaco’s trippy post-mortem. This Motion was downvoted due to being submitted with an invalid threshold (same as Motion 0 above), so it was repeated in Motion 4 below.

  • Council Motion 4: A resubmission of the above.

  • Proposal 0 (Public): A public proposal to set the number of validators to 236 from the current 197. Once seconded enough, this proposal will become Referendum 2.

  • Tip 0: a refund for Joe Petrowski from Parity for submitting the pre-image of the non-Sudo runtime upgrade. When you submit a runtime image into the chain, it takes quite a big deposit, so an agreement was made to recoup the submitter’s losses this way.

  • Tip 1: Jam’s proposal to tip Staking-as-a-Service provider Staking4all for creating this set of Telegram stickers.


Kusama (v 0.8.19.)

🚨 Something I didn’t know! 🚨

If you as a validator get slashed by a non-zero amount, your nominations are ignored until they are re-submitted again. This can lead to a situation where it seems like a validator has enough backing to be elected, but it doesn't happen.

Substrate Debug Kit has an offline-election app which has been upgraded - apart from calculating validator elections offline, it can now detect this scenario with the validator-check and nominator-check subcommands!


💥 Chaos

Referendum 71 had the goal to increase the validator count by 2 every 3600 blocks (1 era) 336 times (roughly over the course of 3 months).

This referendum was to be executed in block 3,200,000 with the goal of reaching 1000 validators by the end of the year in an orderly manner. Unfortunately, the referendum was executed after block 3,200,000 and therefore failed to be executed.

Since this proposal passed publicly and to get things going on this matter, motion 185 has the same goal as referendum 71, but will be executed in block no. 3,400,000. It has been fast tracked by Technical Committee, since the community has already approved it.

🏛 Kusama Governance

A detailed digest for the week of July 13th is available here and the week of July 20th here.

  • A treasury proposal for a GIT-like wiki on-chain for the purpose of Council explanations and guidance has been submitted and later approved. Discussion in this thread, with the amended proposal available here.

  • Motion 181 canceled runtime v2014, as it was superseded by Motion 180 with runtime v2015, fast tracked into the chain. As runtime upgrades speed up, the current remaining and activation times seem to not be long enough on Kusama Network to be up to date on runtime changes, so Motion 184 was submitted: Kusama runtime update to v2019

  • The Kusama Supreme Oracle (a proposal for a new body in the network’s governance mechanism) is open - please add your comments and questions on Polkassembly.

  • Motion 183 was an error on the proposer’s side.

  • The Sunshine Foundation has submitted a proposal for discussion: They intend to build the Sunshine Alpha Interface, a grant and bounty aggregator for Kusama Network.

  • Proposal 31 is a candidacy for a new registrar. The registrar has not yet expressed their intention or detailed their candidacy.


🔩 Core Stack

  • PostDispatchInfo can return Pays::No, essentially refunding a fee paid for a call. This is useful for calls like uploading pre-images (see Tip 0 in Kusama Governance section above!) for passing referenda or fishermen reporting actions.


Ethereum Compatibility

As Moonbeam and Parity’s Frontier mature, I believe it’s worth having a separate section discussing Ethereum compatibility with Substrate and Polkadot in general. The potential for collaboration between the two ecosystems is immense.


🛠 Tools

  • Polkadot JS Apps are at version 0.51.1!

  • Polkadot’s API has changed its encryption method to scrypt. This means JSON files exported with the Polkadot JS Apps will not work with the PolkadotJS Extension (for keeping your accounts in the browser and reusing them across Web3 apps) hosted on Chrome Web Store until it updates. If installing from source, this fix is already in and will work fine.

  • 🍴 This script lets you fork off a live Substrate chain for development purposes. It copies the state of the current chain into your local version, and lets you further experiment on it. Accompanying explainer blog post by author Mudit Gupta is available here.

  • This simple tool helps you predict the next council members being elected based on the current votes they have.

  • Substrate API Sidecar is at version 0.12.0

  • Substrate graph, a compact indexer for Substrate based nodes providing a graphql interface, released version 0.3


🤝 Ecosystem

  • A tutorial on how to run a Polkadot node on the blockchain-cloud-infrastructure provider Ankr.


That's it for this week - I hope this was as useful for you to read as it was for me to write! Special thanks to Bill for his Daily Digest!

The Dot Leap is put together by Bruno Škvorc. Got any links for me for the next edition? Find me on Riot at @bruno:web3.foundation, on Twitter, or via email at bruno@bitfalls.com.