Summary and background
Icon Foundation is accepting proposals for creating a tool to better facilitate the smart contract development experience for smart contracts built in the Icon - Java Execution Environment. Icon Foundation has been in operation since 2017 and has grown to include thousands of users. Smart contract development is crucial for the growth and sustenance of the Icon Ecosystem.
This request for proposal has been published to gather bids for the smart contract development experience portion of our Icon Interoperability Incentivization plan.
Guidelines for bidders
All subcontracting intentions must be clearly represented therein. All documents must be prepared and signed by those authorized to do so. All costs must be listed in bnUSD. Further terms are subject to development pending selection of a bid.
Project purpose and scope
The purpose of the Icon Smart Contract Template project is to provide simple-to-use and full-featured tool for developers to build smart contracts on the Icon Main Network.
The tool should include many of the following components:
- In-process or standalone local goloop node that includes account and state management. This is similar to Ganache and the Hardhat Network
- Standardized deployment process with a single command to build, test, and deploy smart contracts
- Standardized project initialization that minimizes startup steps to a single init command and bootstraps development
- Standardized development environment across multiple platforms (Linux, Apple Sillicon)
- Standardized testing framework that integrates JUnit 5 and Mockito, and includes the ability to get stack traces for failed transactions
- CLI to communicate with accounts and smart contracts
- Documented in such a way that assumes no prior Java knowledge
- Requires minimal effort by the developer to set up
- Could later be extended to include the following:
- Linter
- Static vulnerability analyzer
- Runtime vulnerability analyzer
- Formal verification support for OpenJML 2
The request for this tool is inspired by the Aion4j Maven Plugin, which was built for the Aion smart contract environment.
The contractor will be building the tool and marketing it to the community. Icon Foundation will also negotiate a warranty term in the event of necessary maintenance and bug fixes within a reasonable time.
Proposal timeline and project deadline
Upon contract award, work must be completed within three months.
Budget requirements
Each proposal should include the following for consideration:
- Cost of materials
- Cost of labor
- Overhead
- Total project cost
Criteria
Icon Foundation will evaluate proposals based on the following criteria:
- Overall cost
- Company experience
- References
- Proposal professionalism and quality