Application: InkBench
Project Abstract
InkBench is a comprehensive Rust-based benchmarking framework designed to compare Solidity and ink! smart contract performance on pallet-revive. The project delivers a reusable library that standardizes contract deployment, execution, and measurement, alongside three user-facing tools: a CLI for developers and CI/CD workflows, a Web API service for programmatic access, and a Next.js web application for interactive benchmarking. The framework measures critical performance metrics including gas usage, execution time, contract size, and ABI efficiency across standardized scenarios such as storage operations, arithmetic computations, cross-contract calls, and upgradeable patterns.
InkBench addresses a key gap identified in the ink! ecosystem's RFP for benchmarking tools. With a working PoC already demonstrating pallet-revive integration, the project spans 3 months across two milestones: Milestone 1 focuses on core library development and CLI implementation (1.5 months, $15,000), while Milestone 2 delivers the Web API and frontend application (1.5 months, $15,000). The open-source framework will provide empirical evidence of ink!'s performance advantages, particularly its 64-bit arithmetic and SCALE ABI efficiency, supporting data-driven decision-making for developers, researchers, and ecosystem stakeholders.
Grant level
- [ ] Level 1: Up to $10,000, 2 approvals
- [x] Level 2: Up to $30,000, 3 approvals
- [ ] Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)
Application Checklist
- [x] The application template has been copied and aptly renamed (
project_name.md). - [x] I have read the application guidelines.
- [ ] Payment details have been provided (Polkadot AssetHub (USDC & DOT) address in the application and bank details via email, if applicable).
- [x] I understand that an agreed upon percentage of each milestone will be paid in vested DOT, to the Polkadot address listed in the application.
- [x] I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
- [x] The software delivered for this grant will be released under an open-source license specified in the application.
- [x] The initial PR contains only one commit (squash and force-push if needed).
- [x] 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)
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅
I have read and hereby sign the Contributor License Agreement.
recheck
Hi @ItshMoh thanks for the application. Some of the info in the top part is missing, can you please check the application template and update? Thanks.
Hey @keeganquigley I have updated the Payment details in the application. Thanks.
Hey @keeganquigley Sorry, For the Delayed Response. I have updated the Code with mock up Frontend. Here is how you can run it https://github.com/ItshMoh/inkBench/blob/master/README.md#frontend
I have also attached the three ScreenShots of how UI is currently looking.
Here is the home page.
Here is the Current benchmarking Page for uploading the Contracts.
Here is the benchmarking History page for gettign information about previous benchmarking runs.
we can deploy if you want?
Thanks @ItshMoh for fixing the formatting. I have now marked the proposal as ready for review.
Hey @ItshMoh, thanks again for the application and sorry for the wait. I was waiting for the development of the ink! Alliance proposals. Unfortunately, ink! is being discontinued. Therefore, I'm afraid it makes little sense to go forward with this project.
Thanks again, and feel free to check out our Funding & Support page for other funding opportunities should you decide to pursue similar projects.