Thank you for taking the Dot Leap!
We cover Polkadot, Kusama, Substrate, and all related and unrelated Web 3.0 projects!
For the Ethereum side of Web 3.0, please subscribe to Evan's newsletter.
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.
Polkadot
Due to Polkadot’s approaching launch, there’s more material than usual to pay attention to in this section. Dive in!
⚠Recommendation to redenominate DOT in a ratio of 1:100!⚠
A new referendum is active in governance which is, essentially, just a remark referendum. A remark referendum is used to officially gauge interest of tokenholders on a given topic, but does not necessarily affect a change on-chain.
The referendum proposes the following:
The total allocations of DOTs will increase one hundred times from 10 million to 1 billion.
DOT allocation balances will increase by a factor of one hundred, such that 1 DOT will be 100 DOTs.
The distribution of DOTs does not change, and holders of DOTs still own an equal share of the network as before the change.
The precision of DOT will change from 12 decimal places to 10 decimal places.
To re-iterate, the distribution of DOTs does not change, and DOT holders still own an equal share of the network as before the change. The main benefit of this change is to avoid using small decimals when dealing with DOT, and to achieve an easier calculation system.
Voice your opinion on Polkassembly or vote directly in the UI or join the fierce discussion going on in the Kusama Direction channel: https://riot.w3f.tech/#/room/#kusama:matrix.parity.io
Recommended viewing: Gavin Wood explaining the upcoming launch process of Polkadot
🚨🎉 Polkadot Overview Paper! 🎉🚨
The new Polkadot Research Overview Paper is out! Grab it and read up on this amazing new tech stack we’re building!
👇👇👇 IMPORTANT: STANDARD HARDWARE 👇👇👇
Extrinsic weights have been rebalanced based on benchmarks run on some “standard hardware”. Standard hardware is a relative term which will change over time as the protocol and related technology evolve.
The guarantee is that block production and import will not take more than two seconds on the current standard hardware, so potential validators can adequately prepare. Right now, this setup is along the lines of: “an Intel i7-7700K (4.2GHz 4-core, 128K L1), 64 GB RAM (2.4 GHz) and NVMe storage”
The standard hardware is actually above the minimum because it assumes running in wasm mode, not native, and on RocksDB, not ParityDB. So an up to date node would find much weaker hardware than this more than adequate.
Kusama (v 0.7.33.)
Off-chain Phragmen Update (since 0.7.32)
When nominating several validators in Kusama, the Phragmen algorithm distributes your nominations such that the lowest staked validators get more and end up as close to other validators as possible. This used to take a long time on-chain, so it was moved off-chain where off-chain workers do the calculation and submit the outcome along with the block they produce.
The off-chain mode of Phragmen has some caveats. As explained by the implementer:
In the last quarter of each session leading to a new era, some staking operations are disallowed. This is to make sure election solutions that are submitted in the meanwhile stay valid. Most notably:
bond_extra, unbond, withdraw_unbonded, rebond
validate, nominate and chill
payouts
are disallowed.
Furthermore, off-chain workers run an optimization on the output before submitting it to reduce the size, without changing any validator's backing stake (compared to the good old sequential phragmen, which is what you were getting prior to this update), but this will further change how the nominator's stake is distributed:
So far, in sequential Phragmen (old Phragmen), if you vote for two validators and both of them are winners, almost always your stake is distributed among the two of them. One might get more stake, but both get something.
reduce()
in new Phragmen is very likely to remove as many edges (i.e. votes) as possible. So all in all, it is likely that if I vote for two validators, both of whom are in the winners set, all of my stake will actually be given to one of them.
🚨 Something I didn’t know! 🚨
In order to submit RPC calls to a node from 0.7.32. onward, you need to run the node with the flag --unsafe-rpc-expose
. This will let you issue rotate_keys
calls and other RPC calls you might need as a validator. From version 0.7.33 onward - and from Substrate alpha.7 - this flag has been renamed to --rpc-methods VALUE
and can have the following values:
Safe: Exposes safe RPC methods only
Unsafe: Exposes all RPC methods
Auto: acts as Safe if RPC is served externally, e.g. when
--{rpc,ws}-external
is passed, otherwise acts as Unsafe
🏛 Kusama Governance
The whole governance discussion channel (Kusama Direction) is now archived and can be inspected historically from the day it was added. This means governance discussions became infinitely more searchable, especially if coupled with discussions already happening on platforms like Commonwealth or Polkassembly.
Referendum 50 passed, increasing the number of validators from 225 to 250.
Referendum 51 speed-added (council + technical committee boost) the runtime for 0.7.33 into the chain.
🔩 Core Stack (Substrate v2 alpha.7)
( ͡✧ ͜ʖ ͡✧)
🚤 Further improve your node’s I/O reads/writes by using the new and fast ParityDB instead of the slower RocksDB. Add the flag
--db=paritydb
to take advantage of it - your node will now tell you what you’re using. 🏃♂️( ͡✧ ͜ʖ ͡✧)
A new subcommand has been added: export-state. This lets you export the state of a running chain and turn it into a new genesis, effectively starting a brand new fork of the running chain.
This is very useful for testing runtime upgrades on a copy of a chain that’s live without actually applying them in production. The tool is only partially done as the genesis file that’s generated still needs some modifications. Coming soon!
A fancy new ink! 3.0 is coming - follow the breaking changes that might affect your smart contract stack in this issue!
In what seems like a never-ending stream of metrics upgrades, Tomaka just added “panic” detection in tasks in Substrate which lets you configure Prometheus and Grafana to scream at you in times of panic!
Alpha.7 is out! This is one of the last breaking changes in Substrate before V2 is out! Changelog in the link but also in these updates, duh.
Compiling Substrate (and Kusama) on Android is possible again.
A VRF randomness fix went in that patched some flaws in how the VRF was implemented in Substrate. Nothing critical.
GRANDPA round state can now be queried while the chain is running through an RPC call. Helps when finality is stalled and in other scenarios which need GRANDPA debugging. The method to call is
grandpa_roundState
.GRANDPA equivocation reporting is now enabled on all runtimes, including Polkadot and Kusama 🎉
The Scheduler now support root calls which means you can schedule root origin calls with it. Previously, you had to schedule from within a pallet directly, so essentially hard-code delays into decisions on the runtime level. Now, you can schedule from the UI if you’re Sudo or using Democracy.
🛠 Tools
Polkadot JS Apps now has support for both chains using the old version of the contracts pallet, and the new version. If you missed it, the new version removed Gas for transaction costs and now also relies on weights like the rest of Substrate. Some chains still use the old version and have no means of quickly updating (e.g. Edgeware), so supporting them is important.
PolkadotJS Apps will now let you know if an account is multisig through a tag on the identity panel:
Various countdown have been added across Polkassembly, so you can now see when a given election finishes, referendum expires, etc.
Polkassembly FINALLY allows users to sign up with ONLY their Web3 address! If you’d like to see a full guide on how such a thing can be accomplished, check out this tutorial for adding Web3 logins to a Web2 application!
👨🎓 Education
[Tutorial] A user-submitted Wireguard VPN solution for a validator node + 3 sentry nodes
[Video] The basics of DeFi in Polkadot - by Bill Laboon, explains how DeFi can work on Polkadot through bridges, cross chain messaging, and other approaches
[Video] Parachain Economics - by Logan Saether, introduces how parachains work economically from collator incentives to auctions and more
🤝 Ecosystem
Check out the replay of the The Web3.0 Bootcamp Opening Ceremonies
The Acala Network has been very busy during April, with the introduction of Mandala Testnet Candidate 3, liquid DOTs (L-DOTs), council governance, and more. See their update.
Sota Watanabe of Stake Technologies describes his experience with Substrate and building for the Polkadot ecosystem.
Phala are planning a Stakedrop - if you stake KSM on specific validators in a time period, you will be eligible for PHA tokens when they launch their mainnet.
A presentation of Subsocial - the social network and discussion platform Substrate chain that lets you create your own community
A desktop version (Electron) of Polkadot-JS Apps UI is coming:
📅 Upcoming Events and Webinars
[Conference] ANON Summit, May ~18th: Bruno (that’s me!) participated in an interview and a separate panel which will both get published around then.
[Panel] May 19th: Fireside chat on Crowdcast featuring Zoé Meckbach as host and Bruno Skvorc, Joe Petrowski, and Dieter Fishbein as guests (subscribe to the channel for notifications!)
[Conference] ANON Summit, May 20th: Web 3.0 And Polkadot, a non-technical introduction and Q&A session
[Webinar] May 21st: Polkadot for Beginners, non-technical intro by Bill Laboon and Dan Reecer
[Conference] May 25th / 26th, Blockconf Digital: talks by Bruno Skvorc (workshop), Jack Platts, and Dan Reecer
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.