Java SCOREs Tutorial and Libraries CPS Proposal

Project Name

Java SCOREs Tutorials and Libraries

Project Category

Development

Project Duration

4 months

Total Budget

$10,000

Sponsor P-rep

Ibriz-ICONOsphere

Project Description

We have already done previous work in writing content for python SCOREs. With the launch of ICON 2.0 coming soon, we would like to propose similar work for Java SCOREs. The primary objective of this proposal is to create resources for writing Java SCOREs and migration from python to Java SCOREs. We will also continue translating our previous demo apps in python to Java. This project will also be focused on writing blogs for writing a complete DApp using Java SCOREs.

We would like to support the Goloop based ICON 2.0 blockchain ecosystem with sample Java SCOREs and libraries similar to python in OpenDevICON.io. The main mission of this project is to provide a resource and reference hub for ICON developers, to accelerate the training of ICON developers and reduce friction and time in development of ICON Java SCOREs, dApps. The OpenDevICON project already supports Python artifacts. We would be contributing to ICON DevPortal with the resources we develop.

This project will also be focused on creating libraries which can be easily extended in future to write new SCOREs. With the Java SCOREs code reusability has become easier now. The libraries will be open sourced as well as will be available on Maven. We will be focusing on creating libraries similar to Openzeppelin.

There is already some work done from the ICON team as well as the ICONation team. We would work on adding the features on already available contracts.

Prior Work for Python environment:

OpenDevICON.io

Proposed Work in this grant application:

  • Java tutorials

    • IDE setup for Java SCORE development
    • score package data structure explanations
    • score package API references
    • Deploying SCOREs
    • Testing
    • Writing Annotations
  • Sample migration from python SCOREs to JAVA SCOREs

    • Best practices for migration
  • Java SCORE Library

    • IRC2

      • Mintable token
      • Burnable token
      • Capped token
      • Pausable token
      • Snapshot token
    • IRC3

      • Non fungible NFT
      • partially fungible NFT
      • ERC721Metadata equivalent
      • ERC721Enumerable equivalent
  • Demo dApps

    • Dice Roll
    • DiceRoll demo app
  • Blog Posts

    • Writing /deploying Java SCORE
    • Working with goloop docker image for local deployment

Project Milestones

Month 1:

  • Java tutorials
    • IDE setup for Java SCORE development
    • score package data structure explanations
    • Testing

Month 2:

  • score package API references
  • Deploying SCOREs
  • Testing
  • Writing Annotations

Month 3:

  • Sample migration from python SCOREs to JAVA SCOREs
    • Best practices for migration
  • SCORE libraries
    • IRC2 libraries
    • IRC3 libraries

Month 4:

  • Writing /deploying Java SCORE Blog
  • Dice Roll SCORE
  • Dice Roll Complete application
  • Working with goloop docker image for local deployment blog post

Team Name:

Techflow Space
https://twitter.com/SpaceTechflow