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

Contracts performance measurement tool proposal #1750

Merged
merged 4 commits into from
May 21, 2023
Merged

Contracts performance measurement tool proposal #1750

merged 4 commits into from
May 21, 2023

Conversation

smiasojed
Copy link
Contributor

@smiasojed smiasojed commented May 18, 2023

Project Abstract

The key objective of this grant is to build a tool which allows to compare contracts performance and to track its regressions.
Tool is integrated with CI and triggered by a release of pallet-evm or pallet-contracts based parachain. It measures the contract performance and allows for its visualization.

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: @smiasojed:matrix.org (change the homeserver if you use a different one)

@CLAassistant
Copy link

CLAassistant commented May 18, 2023

CLA assistant check
All committers have signed the CLA.

@cmichi
Copy link

cmichi commented May 19, 2023

Really appreciate seeing this grant application!

Noc2
Noc2 previously approved these changes May 19, 2023
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

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

Thanks for the application. It looks good to me, and I'm happy to go ahead with it as well as share it with the rest of the team.

@Noc2 Noc2 added the ready for review The project is ready to be reviewed by the committee members. label May 19, 2023
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

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

Thanks for the application, @smiasojed. Generally happy with the application, just one question below.

| 1. | License | GPLv3 |
| 2. | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can spin up test net and run contracts with transactions. |
| 3. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| 4. | Updated evm contracts | We will update tool with support for newest Moonbeam parachain. |
Copy link
Member

Choose a reason for hiding this comment

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

What do you mean by "updated EVM contracts"? And is there anything specific to Moonbeam about any of the deliverables that wouldn't also work for other EVM-compatible parachains, or why are you singling out Moonbeam here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is nothing specific. Moonbeam is just a good candidate to trigger a github action and take measurements on it. In our case, we want to have a daily contract comparison, so we need to find a representative parachain to measure against.
By update of evm contracts I mean updating the smart-bench dependencies being used for contracts execution on pallet-evm based parachain. Similar work I have already done for ink contracts.

@keeganquigley
Copy link
Contributor

Thanks for the application @smiasojed it looks good and it's cool to see support for Solang as well. Just a couple of minor suggestions:

  • To match our template, mandatory deliverables should start with 0a. - 0d. instead of 1. Then you can start with 1 for the core deliverables (i.e. 1. Updated EVM Contracts). Can you update this?
  • Typically, the milestone estimated durations are written in weeks instead of days. This is just a convention but helps to avoid confusion later on when keeping track of progress.

Thanks!

@keeganquigley
Copy link
Contributor

Thanks @smiasojed I see you changed the first milestone but not the second, this would go for that one as well.

@smiasojed
Copy link
Contributor Author

Thanks @smiasojed I see you changed the first milestone but not the second, this would go for that one as well.

I missed it, I am sorry. Now should be better

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! LGTM

@Noc2 Noc2 merged commit a8719b1 into w3f:master May 21, 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! 🚀

@smiasojed
Copy link
Contributor Author

We are planning to close the 1st milestone until 09.07.2023

@keeganquigley
Copy link
Contributor

Hi @smiasojed how is the 2nd milestone coming along?

@smiasojed
Copy link
Contributor Author

Hi @keeganquigley, We've encountered a delay, and we are currently working on updating smart-bench dependencies to the newest versions. As for phase 2, half of it has been completed, and we estimate that we should be ready by the end of the year.

@keeganquigley
Copy link
Contributor

Thanks @smiasojed in this case could you please file an amendment to reflect the changes and extend the timeline? You can amend the original application. Thanks!

@keeganquigley
Copy link
Contributor

Hi @smiasojed are you still planning to submit an amendment?

@smiasojed
Copy link
Contributor Author

Hey @keeganquigley I did it: #2124

@semuelle
Copy link
Member

Hi @smiasojed. How is M2 progressing?

@smiasojed
Copy link
Contributor Author

Hi @smiasojed. How is M2 progressing?

Hi @semuelle, we have all the code in pull requests, and we are waiting for approvals from the Parity team's side.
Once it is accepted I will submit M2.

@keeganquigley
Copy link
Contributor

Hi @smiasojed just checking in for an update on M2?

@smiasojed
Copy link
Contributor Author

Hi @keeganquigley, our PRs are still waiting for approval:
paritytech/smart-bench#55
paritytech/smart-bench#58

@keeganquigley
Copy link
Contributor

Hi @smiasojed since the first PR has been merged feel free to go ahead and submit the delivery in the milestone delivery repo. That way we can start evaluating and it will take the pressure off of the timeline. Besides I'm not seeing a hard requirement in the milestone deliverables that says they need to be merged into the codebase, so we'll probably be able to go ahead and pass it as is.

@smiasojed
Copy link
Contributor Author

Hi @keeganquigley, thanks! I will do it next week.

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.

7 participants