Collaborator
This RFP is a collaboration with Sudoblock, ICONDAO, and the ICON Sustainability User Group
They are willing to provide support in the form of project advising. They are potentially available to interview members of the development group that completes this RFP, depending on quality and skill set
Please contact Eric Solomon, Technical Lead at ICON Foundation (Discord errcsool#9380) to coordinate a follow up with the collaborating team
Summary and background
The Target Funder is accepting proposals for for creating a code generator for ICON smart contracts similar to famous create-react-app by Facebook but instead exposing options needed to customize the deployment with a newly built configuration language called tackle. The language specializes in creating prompts for users to fill in options and then generating code using that context
This is important because smart contracts form one of the bases of business development in the ICON ecosystem, and this process would make smart contract development simpler for users of all levels
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 ICX or bnUSD. Further terms are subject to development pending selection of a bid
Project purpose and scope
The purpose of this project is to create a code generator for ICON smart contracts
The project will focus on the templates that are rendered by tackle that will include options such as if the contract is mintable, burnable, etc similar to OpenZeppelin and create-web3-dapp. End-to-end tests should be built so that the generated tests are run from the top level code generator tests. You will not need to worry about the language nuances of tackle and just know that the code generator will be modified to include whatever parameters you need for rendering. Since contract features should be included in multiple token standards, this might be a good project for multiple people to work on
Proof of concept using tackle -> https://github.com/sudoblockio/tackle-icon-sc-poc - You will be contributing to this repo and it will be renamed One of the templates that you will add features such as mintable -> https://github.com/sudoblockio/tackle-icon-sc-poc/blob/main/templates/irc2/src/main/java/com/iconloop/score/example/{{contract_slug}}.java#L33 Part of project that prompts users for options -> https://github.com/sudoblockio/tackle-icon-sc-poc/blob/main/.tackle.yaml Openzepplin code generator -> https://docs.openzeppelin.com/contracts/4.x/wizard Similar project in scope -> https://github.com/alchemyplatform/create-web3-dapp Tackle language -> https://github.com/sudoblockio/tackle
The contractor will be building the templates and marketing them to the community. The supporting funder will also negotiate a warranty term in the event of necessary maintenance and bug fixes within a reasonable time
Proposal timeline and project deadline
This project should aim be able to be completed in about 1 month
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