Plaza smart contract editor (IDE) - Project Proposal

Hi, everyone!

Our web3 research team is preparing to apply the proposal to the treasury and would love to get some feedback from the community.

As you know Solana and Ethereum have really good tooling and are therefore attracting many developers to their ecosystsem. While we at Polkadot have the best tech, we really need to up our game when it comes to tooling!

Some of you might know that PolkaVM is coming soon. And it will enable writing smart contracts natively on Polkadot - in solidity, ink! and possibly also in other languages. Parity is buidling the core to make this happen, but we need the building blocks to make the user experience for developers outstanding and to attract them to build on our tech.

Our team had been working in the Ethereum Foundation for 3 years, specializing on building tooling for Solidity smart contracts (Remix IDE, if you’ve hear about it). We have also been active members of Polkadot community since 2019, working on different research projects, but smart contracts have not been such a big focus in this ecosystem until now.

That is why we think this is the right time to propose something we are really good at and empower Polkadot with the tooling for building smart contracts.

This is our proposal. Parity smart contract team and Pop network and looking forward to working with us and we are really excited to make this happen!

Please take a look and let us know if you have any questions.

Thank you very much in advance!


UPDATE:

After initially reaching out to many potential partners in the Polkadot ecosystem and getting very positive feedback, we assumed the alignment of our proposal with other projects and the overall Plaza vision would be self evident and sufficient. In hindsight, based on your feedback, the questions and concerns voiced here and in private communication channels, we realized we made a mistake by not including our research work into the initial proposal and should have laid out a lot more details right away.

As always, Playproject takes community feedback (made both publicly and via private channels) very seriously and adapting the proposal to feedback requires to properly research the implications, which is one reason why it took a bit longer to come back.

We have been working to include our research and context, the landscape and technical details to the new version of our proposal as well. We are neither new to Web3, nor Polkadot. We have been actively participating in Polkadot specifically, since our Web3 summit talk in 2019 and over the years have received funding from the Web3 foundation, Bounties and Treasury for various projects. By now, our UX research company accumulated almost a decade of Web3 work experience and contributed to numerous projects. We staff based on project needs and have an extensive network of top talent industry professionals we can source from.

Below we will lay out our updated proposal section by section, starting with an executive summary for each section and the option to dive deeper into the details as well.

We would kindly ask everyone to familiarize themselves with our proposal amendment.

Thank you very much in advance.

Updated proposal: version 2

14 Likes

I’ve used Remix a lot back in 2016/17 when I first started learning Solidity, super handy. It was a nice surprise to meet Nina years later and discover that she was involved in the development of Remix.

I like the idea and believe in Nina’s ability to deliver it.

3 Likes

Thanks a lot, @laurogripa I am really excited and hope we will be able to provide this and better to the Polkadot ecosystem!

1 Like

I’ve also used Remix IDE, one of the best for working with solidity. :slight_smile:
Looking forward to this.

1 Like

Awesome, this is needed! But is the endpoint development IDE Remix itself (very awesome) or something where you start afresh (probably awesome, but not sure?) ?

1 Like

Hello @sourabhniyogi
We agree completely. We’ve received widespread confirmation that a “Remix for Polkadot” would be highly beneficial.

Over the past three years, we have gained valuable insights from working on Remix. If we were to start today, our approach would be different, aiming to improve on Remix’s foundation.

Since its inception in 2016, Remix has seen around eight years of development by a fluctuating team of five members, leading to technical debt and complexity that could be simplified.

Now, we are focusing on PolkaVM, supporting multiple languages beyond Solidity. This shift introduces new considerations that Remix did not face.

4 Likes

Solana and Ethereum have really good tooling and are therefore attracting many developers to their ecosystsem. While we at Polkadot have the best tech, we really need to up our game when it comes to tooling!

I agree, we shouldn’t just bank on “better tech stack”. Building and maintaining good tooling around contracts do require substantial development efforts. Glad to not only this being tackled but also by someone very experienced! I think it will complement the new contract runtime and compiler nicely.

1 Like

According to your document it takes you 240 hours to “Generate a comprehensive metadata.json file”. Isn’t that the job of solc? How is the IDE involved in that? Maybe I am missing something. Keep in mind that we are using the original Solidity compiler and just recompile the outputted YUL to PVM.

2 Likes

Hi Alex, very nice to hear from you. Thank you for taking time and thank you for your comment and very good question.

I do agree, that the title in the proposal is slightly misleading.
The table doesn’t mention any hours for “backend/devops”, but mainly for “research/design/frontend”. Our experience from remix showed, that various users in various different contexts need to copy out some specific parts from the meta data and having a big pile of json is not the best developer experience.

We want to go through the json meta data a bit more in detail to allow more meaningful display and interaction with that metadata. Of course, we definitely plan to also give access to the raw JSON (that’s needed as well), but want to improve upon that and it requires some effort to come up with the best developer experience for dealing with the metadata and do a bunch of iterations to really make it as much fun as possible and useful for as many developers as possible and not something people are scared of :slight_smile:

2 Likes

Thanks for clearing that up. Might I suggest rewriting this point into something like “Parsing matadata.json in order to present it in a user friendly way”.

I like the idea a lot and think something like this would be hugely useful. However, the main objective of our current approach is to make the development platform as close to Solidity/EVM as possible. The reason of why we are doing that is that we don’t have to re-develop all of the tooling that already exists for Solidity. That would be a game of catch up that we can never win.

Remix (and other tools) support plugins. If possible adding PolkaVM support via a Plugin would be preferable to me. Other projects very similar to us have done this: GitHub - NethermindEth/zksync-remix-plugin: Remix plugin for zkSync

Adding a new tool is a huge endeavour and need to keep up with Remix which has active contributors.

If you think writing a new tool is the better solution long term you should discuss alternatives in your proposal. I would love to learn what are the limitations are of Remix plugins which justify a rewrite. I think if you ask for money to develop a completely new tool it would really help your case to show that you explored other avenues as well.

If there is a reason why a plugin will not provide the best experience I am not against funding the creation of a new tool. It won’t stop anyone from creating a plugin. However, I think your proposal should cover why you didn’t go down this route.

5 Likes

Hi, Alex, thank you for the additional questions and considerations. We have been researching possible pathways based on your input and will prepare a response and a proposal amendment in a few days!

Thank you for you patience!

After initially reaching out to many potential partners in the Polkadot ecosystem and getting very positive feedback, we assumed the alignment of our proposal with other projects and the overall Plaza vision would be self evident and sufficient. In hindsight, based on your feedback, the questions and concerns voiced here and in private communication channels, we realized we made a mistake by not including our research work into the initial proposal and should have laid out a lot more details right away.

As always, Playproject takes community feedback (made both publicly and via private channels) very seriously and adapting the proposal to feedback requires to properly research the implications, which is one reason why it took a bit longer to come back.

We have been working to include our research and context, the landscape and technical details to the new version of our proposal as well. We are neither new to Web3, nor Polkadot. We have been actively participating in Polkadot specifically, since our Web3 summit talk in 2019 and over the years have received funding from the Web3 foundation, Bounties and Treasury for various projects. By now, our UX research company accumulated almost a decade of Web3 work experience and contributed to numerous projects. We staff based on project needs and have an extensive network of top talent industry professionals we can source from.

Below we will lay out our updated proposal section by section, starting with an executive summary for each section and the option to dive deeper into the details as well.

We would kindly ask everyone to familiarize themselves with our proposal amendment.

Thank you very much in advance.

Updated proposal: version 2

2 Likes

Alex, thank you very much for all the information exchange over the past 2 weeks. We have now update the proposal to include the suggestions you’ve made regarding the Remix and Hardhat plugins. We think this is a smart approach! Thank you once again for the input!

Updated proposal: version 2

1 Like

I think the new proposal is very reasonable and having this is crucial for the success of of Plaza. I am voting aye.

2 Likes

Thank you, Alex once again for all the inputs and feedbacks. Very much looking forward working on this with you and your team!

Have you thought of looking at Swanky that provides a basis for Ink! ?
I can’t see even a mention to it.

Sorry, I only saw your message today. Checking the Swanky Suite. Looks interesting! Thanks for sharing!

@bLd would you mind sharing the chainIDE Github repo? I coudn’t find it on your page.