sora-xor / rfps

SORA network development public Request for Proposal development process
Apache License 2.0
11 stars 23 forks source link

[RFP]: Implement contracts pallet on Sora runtime #62

Open dromerolovo opened 1 year ago

dromerolovo commented 1 year ago

Proposal Due Date

09/02/2023

Proposal Overview

This should be straightforward, this RFP consists of implementing the pallet-contract to the Sora runtime, the benefits are the following:

  1. Keeping Sora's runtime clean and efficient by implementing additional application logic in ink smart contracts.
  2. Reduce the cost of development.
  3. Encourage developers to start implementing applications in Sora, as some developers are more application-driven than infrastructure-focused.
  4. Improve the development experience in the Sora ecosystem.
  5. Enable faster iterations. There is no need for a runtime upgrade to deploy and test contracts, and they can be deployed and tested in multiple scenarios, outside Sora. AFAK
  6. More transactions.

For example, a Sora lotto could be a great demonstration of the types of applications that can be developed without the need to implement additional pallets. The possibilities are endless.

Proposal Goals

Encourage more developers to build on Sora. While deploying ink contracts is relatively straightforward, building a pallet requires a steeper learning curve.

Scope of Work

  1. Implement the contracts pallet on the Sora runtime on testnet. https://github.com/paritytech/substrate-contracts-node/tree/main

  2. Discuss and evaluate the necessity of adding extensions that expose runtime logic to smart contracts and implement them on testnet. Relevant links: https://use.ink/macros-attributes/chain-extension/ https://github.com/paritytech/ink-examples/tree/main/rand-extension

  3. Implement contracts pallet and chain extension methods in mainnet.

Current Roadblocks and Barriers to Success

  1. Implementing the pallet and extensions can be complex and requires in-depth knowledge about Sora's runtime and Substrate. This ensures that there are no conflicts between pallets or inaccuracies in the pallet's configuration.

Evaluation Metrics and Criteria

  1. The possibility to deploy contracts; first on testnet, then on mainnet.

Submission Requirements

  1. The stated above + The deployment of ink contracts from the community.

Submission Method

Blockchain: Mainnet

Project Due Date

No response

Budget Amount

No response

Soratoga commented 1 year ago

Could you also include a workshop/learning/hackathon session after the deployment?

dromerolovo commented 12 months ago

@Soratoga , it would be great. I think that, initially, a demonstration of how to deploy a contract in Sora would be nice. Do you know what is the status of this? I read, some time ago, Makoto saying that Sora was doing some tests regarding this.