Polkadot Runtime Environment: Alternative Implementation Grant #12
Comments
Is there a preferred language for the implementation? An alternate implementation in Rust or Go would be very useful early on, since a lot of the current blockchain stack is written in one or the other. Down the road, it would be interesting to get an implementation in JavaScript (if it ever supports compilation to wasm) or Java/C#. |
I'm due to release more information tomorrow (a little behind expected timeframe!). The reference implementation is in Rust (i.e. Parity Tech), plus there is Jaco's JS implementation (a full Substrate client, but without block authoring). The preferred implementations are: Java, Go, C++. So, with some luck, I can release the full details tomorrow! :-) |
@EdwardAThomson Are there timelines for the grant applications? |
I'm seeking to help a team in this endeavour, specially using Go. If there's an existing team that is looking for help, please contact me. gfrеⅾеrісο аt іģսаzս ḋοt ѕοⅼսtіоոѕ or on Twitter: ģсѕfrеḋ. |
@gcsfred2 The applications will be open for a while. At the moment there is a hope to have a couple more implementations, so the application process will remain open at least until we have a few interested teams working on this issue. |
Hello, our team was in Berlin during blockchain week and had an incredible time getting to know people from the Parity team. We showed interest in writing an implementation of the PRE in Go. I will be filling out the application over the next few days. Thank you! |
Hey ChainSafe team, that's great to hear! I see you have an email address on your profile. I will drop an email to say hello. Go is one of our preferred languages, so your application is of interest. We are starting to get quite a bit of interest now in writing alternative implementations. |
Keen to be involved in core development of Polkadot. Form submitted! :) |
Adding a list of relevant videos and blogs. Videos:
Blogs etc:
Technical Chat channel:
We'd recommend jumping into the Substrate Technical channel and start asking questions. Some developers are on-hand and answering questions, plus there is also a handful of community members who are becoming experts too! |
Thanks for all of the interest so far. We have received a number of application forms, but the application process is still open in case any teams are wondering and were thinking of submitting a proposal. We are hoping to select 2 or 3 teams to develop alternative implementations, but we haven't selected anyone yet! |
A further update on this topic. Many of you have been asking about timescales and the amount of effort involved. I had a quick chat with Jaco, a dev in Parity. He is the one who created the implementation in JavaScript. Hopefully this gives you a better idea. He worked pretty much solo too! How long would you expect a dev / team of devs to create an implementation of Substrate? "Difficult to say - the issue is that my implementation found a lot of bugs in the Rust libp2p code, so I was waiting for (what felt like forever), for fixes. Too early. So first thing, what language - if not JS, Go or Rust, they need to write their own libp2p implementation. (Maybe there is a way to use the Go/Rust versions as libraries)" "Then the tricky bits are:
As a bare minimum, as he see it:
"If in the implementation is in Go, the Trie they can actually take the Ethereum version and "just" drop in blake2 and the parity-codec." For this grant, we are looking for the consensus part to get done too. |
Hello, just filled out the form for C++ implementation. |
Received! Thank you! @Yuvasee The application process is still open. We will take a few more applications before making any decisions. Did you know about our W3S conference? There are now reduced price and free tickets available: https://medium.com/web3foundation/endowing-an-open-inclusive-community-at-web3-summit-3013456f4f84 |
Hi everyone, we've had some questions about the development process and we thought it would be good to share the answers with everyone. 1. Understanding the motivation for an alternative implementation
2. Understanding the implementation around WASM
3. Understanding the “rules of engagement”
|
In progress specification: https://github.com/w3f/polkadot-re-spec/blob/master/polkadot_re_spec.pdf |
We have an interest in supporting this effort by doing a minimal port of the implementation of Parity codec, and any other rust modules with the idea to support writing a runtime in Go. So not a full alternative implementation. This task of course will be taken on by the team selected to do the full Go implementation. So I was looking to see if there is possibility of collaboration or if no work has started at all, to perhaps apply for a grant for a narrower scope of work? |
The Web3 Foundation is looking to attract teams for the development of an alternative implementation of Polkadot Runtime Environment (PRE), which is a core component of Polkadot.
The first step in writing a fully-fledged Polkadot implementation is to start by writing an implementation of the PRE. The idea behind the PRE is that it can be used to create standalone blockchains, while also allowing connectivity to the Polkadot network.
The Web3 Foundation contracted Parity Technologies to write the first implementation of Polkadot. Their implementation of the PRE is called ‘Substrate’. This product is currently a PRE but will have additional functionality in the future. For this grant we are concerned only with the PRE. The current Substrate code is sitting in the Polkadot GitHub repo and is implemented in Rust.
For more information please see the following document for further details on how to apply:
Polkadot Runtime Environment: Alternative Implementation Grant
(FYI, the following languages are preferred: Go (above all others), C++, and Java.)
The text was updated successfully, but these errors were encountered: