Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LightSpell: XCM API #1817

Merged
merged 2 commits into from
Jun 27, 2023
Merged

LightSpell: XCM API #1817

merged 2 commits into from
Jun 27, 2023

Conversation

dudo50
Copy link
Contributor

@dudo50 dudo50 commented Jun 22, 2023

Project Abstract

This proposal aims to create the first XCM API for the Polkadot ecosystem. We have heard a number of times, that XCM API is very needed in the ecosystem. Alice & Bob's tweet goes to show this also link. This API will save developers from the need of integrating any packages into their dApp which will save space and headaches with dependencies. It will also be faster to generate calls and make dApp more responsive as heavy computing of generating calls will be lifted from them. The API will utilize already hardened and fully developed XCM SDK.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@dudo50 dudo50 changed the title Create LightSpell-proposal.md LightSpell: XCM API Jun 22, 2023
@dsm-w3f dsm-w3f self-assigned this Jun 23, 2023
Copy link
Contributor

@dsm-w3f dsm-w3f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dudo50 Thank you for the application. Let me ask some questions about it. I understood that the motivation to have an API for XCM is to easier integrate with apps and make faster requests. On the other hand, you will need to maintain a server running to make these requests, which you intend to ask for funds from the treasury to maintain.

  1. Do you know how many requests are expected to be performed to this API?
  2. What are the numbers of the SDK today?
  3. The API is another option or is a migration for the SDK? Do you plan to maintain both options or all requests will pass to the API before being submitted to the blockchain?
  4. How faster the XCM would be if using the API? Could you give me an idea about it?
  5. As now the usage of the API incurs in having costs for you, how do you plan it to be financially sustainable over time?

@dudo50
Copy link
Contributor Author

dudo50 commented Jun 23, 2023

@dsm-w3f thanks for your questions!
We are going to answer them below:

  1. We cannot predict this as we do not have metrics for how many XCM calls are generated by SDK as these are only known by dApps integrating the SDK. We can predict that at the beginning months, it wouldn't be over a few million which if we transfer into costs is not insanely expensive.
  2. The SDK is used by Kodadot (The largest NFT marketplace on Kusama), Basilisk team is planning the integration of it and there are some smaller projects like Sub-scaffold which we helped to create. Again we are unable to give full stats as some projects are not open source. We can only see, that SDK is integrated into 14 github projects total and has about 1.5k downloads per month see the picture below:
Screenshot 2023-06-23 at 21 40 26 What we can say is, that we expect usage to claim over time as getting new daps to onboard will be much simpler and faster with the introduction of API.
  1. API is another option and both SDK and API will be maintained at the same time as SDK will be a vital part of API.
  2. This figure is also unavailable as API is not yet developed. What we predict however is, that this will vary per use case as some applications are heavily dependent on generating calls if many users hit send button at the same time it could cause some heavy load on dApp servers. If the request is generated from API it offloads that dApp significantly. If these dApps are only for local use and each computer has to download them this will have a significant boost if the computer is not that powerful. On the other hand, if this wouldn't have major improvements in speeds for dApps that are running powerful servers it could at least bring their costs down and increase ease of integration.
  3. For now we do not expect costs to be significant as our usage will claim slowly over time as we have to get old projects to implement API and new projects will implement API as well. Our plan to make this sustainable is to ask for maintenance funds from the treasury and Parachain teams that potentially could implement API in the future. Again, unable to predict anything long-term but our focus after the development of this API will be on getting those implementations rolling. If we are unable to get funds for our maintenance we will only ask for funds to cover server expenses and work for free. As our team have stated before we are not in this for profit and we see significant improvement this can bring to the ecosystem it is in our utmost interest to keep this project alive. If none things will work out we will pass the project to a well-funded team within the ecosystem that will be able to keep it running. It is hard to predict long-term sustainability with common good tools without business models or interests in making money from their users. As for now, we have funds to sustain paying server bills for the next few months (How long depends on usage API will provide).

We hope we answered all your questions. If any else occur feel free to ask us.
With kind regards,
Team ParaSpell

@keeganquigley
Copy link
Contributor

Thanks for the application @dudo50 based on your previous work, and your commitment to maintaining the XCM-SDK I'm generally happy to go forward with it, just a few minor things:

  • Regarding the unit tests, typically these are required as part of the mandatory deliverables (0c. Testing & Testing Guide) so I don't think a separate deliverable is needed for it. You can probably remove this. The integration and e2e tests can stay in as these are nice-to-haves.
  • Will requests always be free, or are you eventually planning to charge for larger amounts?
  • If your current treasury proposal doesn't pass (although I hope it does!), what alternative sources of funding will you pursue to keep maintaining the project?

@dudo50
Copy link
Contributor Author

dudo50 commented Jun 26, 2023

Hey @keeganquigley !
Happy to answer your questions below:

  1. Will update the unit tests asap!
  2. It will always be free. That is our policy.
  3. We have 2 more plans. Rework the maintenance request and add API to it. Lower the asking price and contact other Parachain teams that are most involved with XCM to try and cooperate with them. The last plan is just work for free as long as we are able and repeat after a while.

@keeganquigley
Copy link
Contributor

Thanks @dudo50 sounds good, feel free to ping me once it is updated.

@CLAassistant
Copy link

CLAassistant commented Jun 26, 2023

CLA assistant check
All committers have signed the CLA.

@dudo50
Copy link
Contributor Author

dudo50 commented Jun 26, 2023

Hey @keeganquigley,
proposal has been updated as requested.

With kind regards,
Team ParaSpell

Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dudo50 LGTM. I will also mark the application as ready for review and ping the rest of the committee to take a look.

@keeganquigley keeganquigley added the ready for review The project is ready to be reviewed by the committee members. label Jun 26, 2023
@Noc2 Noc2 merged commit 9292fca into w3f:master Jun 27, 2023
@github-actions
Copy link
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at grantsPR@web3.foundation and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@Polkadot-Forum
Copy link

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/introducing-complex-set-of-xcm-tools-paraspell/5625/1

@Polkadot-Forum
Copy link

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/enhancing-cross-chain-experience-of-your-dapps-with-revolutionary-xcm-tool-set-from-paraspell/8792/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants