Retroactive Funding for ORML, Chopsticks, and Subway

10mos ago
20 Comments

Proponent: Acala Foundation 12zgSMDwF5xpzcksvEdDzcSFouFNroXGRffgnhogSk1kR7iS

Requested: 100,000 DOT

Short description: This submission proposes a payment by Polkadot Treasury to cover maintenance, development, and hosting of open source projects (ORML, Chopsticks, and Subway) built by Acala team.

Scope: All the host cost and work done that was not covered by past treasury proposals till end of 2023 for those projects:

Previous treasury proposals:

All the work covered by previous treasury proposals are considered out of scope in this proposal.

Background

Acala team is always trying to improve the developer experience for the Polkadot ecosystem. From our development experience, we are identifying bottlenecks, and then creating open source solutions to solve the bottlenecks. As a result, we created the most used community pallet library: ORML, and an essential development tool for Polkadot developers: Chopsticks. Subway is the latest addition to our open source projects. It can significantly reduce the operation cost of running RPC nodes, improve security of RPC infrastructure, and provider better user experiences. Both ORML and Chopsticks are being used by many parachain teams, and there are many other teams are currently evaluating Subway.

This proposal is asking for 100,000 DOT to support Acala team to cover the development work and hosting cost (e.g CI machine and related devops work). This will help Acala team to continue development and support effort of those projects. We will also be able to prioritize the feature requests and support requests raised from the community.

Project Details

Open Runtime Module Library / ORML

https://github.com/open-web3-stack/open-runtime-module-library

ORML is the most commonly used community pallet library outside of polkadot-sdk. It offers many essential pallets including multi token support, NFT, XCM and many more. It is used by 20+ parachains and has been audited multiple times.

An incomplete list of work done since last treasury proposal:

  • Upgrade polkadot-sdk version
  • Publish to crates.io
  • orml-parameters pallet
  • Support NFT XCM

Chopsticks

https://github.com/AcalaNetwork/chopsticks

Chopsticks offers the ability to fork mainnet into a local devnet for testing and development purpose. It is used by many, if not all, parachains, multiple dapp teams, as well the Polkadot Core Fellowship members. It is a must-have tool for Polkadot developments.

An incomplete list of work done since last treasury proposal:

  • Be compatible with new polkadot-sdk version
  • Browser support
  • Persistent mode and follow mode
  • ESM and CJS support
  • Performance improvements
  • Child storage and offchain worker support
  • Libp2p support PoC
  • End-to-end testing helpers

Polkadot Decoded 2023 talk about Chopsticks and Subway: https://www.youtube.com/watch?v=UowOAK9R6aQ

Subway

https://github.com/AcalaNetwork/subway

Subway is a JSON RPC Gateway built with Substrate and Ethereum RPC in mind. It is the only open source middleware tool available that supports Substrate JSON RPC. Subway offers rate limiting, cache, merge identical subscriptions, stale upstream rotation, APM integration and many more features. It is an essential tool to build and operate an RPC infrastructure.

Subway is currently used by all the public RPC endpoints hosted by Acala Foundation for Acala and Karura. It has been running smoothly for more than half a year and has significantly reduced the RPC cost as well as reduced latency and unplanned outages for users.

Compare to the numbers provided by Parity, with the help of Subway, Acala Foundation is able to operate the RPC nodes with ~1/5 of the hosting cost and serving ~1.7x amount of the requests.

An incomplete list of features implemented:

  • Support Substrate JSON RPC
  • Support Ethereum JSON RPC
  • Rate limiting by connection and/or IP
  • Response caching
  • Merge identical subscriptions
  • Stale and erroneous upstream rotation
  • APM integration
  • Response override
  • WebSocket and HTTP

Cost Breakdown?

A breakdown is not included, but could be provided if requested. The main reason it is not created yet because it is very time-consuming to create such breakdown. Furthermore, we would like to emphasize that the proposed amount is not directly related to the cost and therefore a cost breakdown should not be necessary to evaluate this proposal. On top of that, ORML and Chopsticks are the most used community built open source project in the ecosystem and therefore the expectation is that the payout amount should be directly proportional to the impact been made to the whole ecosystem. While we would like to let the community decide the payout amount, the tipping system simply does not work (as we have never received any tip from Polkadot treasury). Therefore, we decided to make a request with a number just to initiate the process, and then making adjustments based on the feedbacks.

Up
Comments
No comments here