Parity’s Polkadot Dev Update #1

It has been non-stop in the Parity Tech offices since our last update. We have been making plenty of progress, and as per the previous post our team is still split working on the Parity Client, aaaaand we are really excited because the building of the Polkadot Network has officially begun! We have set up a Riot channel for those who wish to follow the team during the building of the Polkadot Network to join the Riot channel: #polkadot-technical:matrix.org

We have been working on the initial version of the Polkadot spec, which is available here: https://github.com/w3f/polkadot-spec/blob/master/spec.md.

There is still a lot to be done there but some major building blocks, such as block header and transaction format have been discussed, and some of them have been implemented in code. PoC-1 will have all of the relay chain contracts implemented in Rust with the idea to replace them with Wasm code in the following release.

We are also working on the Polkadot networking protocol. This is a protocol for exchanging blocks, transactions, block candidates, consensus messages, etc. over the network. The first version is based on devp2p and is designed to be replaced with libp2p in the future. PoC-1 will support syncing the relay chain in full mode and connectivity management to be added later.

Also, we have been maintaining the contracts repo, adding administration features to PoA, allowing a specific contract to make non-standard state transitions through log events. Additionally, we are creating a contract that issues those log events upon the approval of the current set of authorities.

In other news, during the optimization sprint, we managed to reduce wasm binaries by around 80% and made them suitable for public networks with standard settings (for example, Kovan). We made a lot of changes to improve ergonomics, stability, and documentation of the pwasm support libraries (-abi, -std, -test). Finally, we have opened a public channel for parity wasm-related work, everybody from the field is welcome to join https://riot.im/app/#/room/#parity-wasm-public:matrix.org

Other stuff that our devs have been working on is the Rust port of libp2p. The initial architecture, including multiplexing and encrypted communication channels are already in place, and the code can successfully interoperate with the echo example of the existing JS implementation. Now we are currently working on implementing the upper layers, like the ping protocol and Kademlia.

As the year draws to an end, we have lots to be working on at Parity. If you want to discuss anything in this update or join the conversation on all things Parity you can join our Riot channel: #parity-watercooler:matrix.org