ICON CPS Bot by TechFlow.Space

[TechFlow.Space ] (a collaboration entity of iBriz - ICONOsphere in Nepal)

Introduction:

We propose to build a Contribution Proposal System (CPS) bot that sends real-time notifications about proposal submission, voting & approval on platforms like Telegram and Twitter. This will be a useful tool to keep track of community proposals & votings, which are quite time-sensitive in nature.

CPS DAO requires active participation from both participants and P-Reps. This includes submission of proposals & progress reports by the participants, and voting by the P-Reps. A small negligence could be disastrous. We think that having a bot that frequently notifies about proposal submissions, votings, report submissions & project reports votings would be quite useful in the community.

Motivation:

As an active ICONist, we are extremely curious about the projects that get submitted to CPS. We visit the platform multiple times a day to look at the submissions and review the feedback by the P-Reps. This provides us a good lens on how the whole community is thinking, what projects would be helpful and what we need to do to improve the community. We think that a bot will help us access that information easily.

Communication in a decentralized system is critical for a smooth functioning of the process. Hence, an automated communication mechanism like a bot is helpful to tackle this. Our solution is to build a solid foundation to build multiple types of bots for Telegram and Twitter.

Value for the ecosystem:

We believe that this project would be useful for the following reasons:

  1. Regular updates on proposal submission, report & voting.
  2. Reminder for P-Reps to vote for proposals & progress reports.
  3. Reminder for participants to submit proposals & progress reports within the set deadline.
  4. A good set of tools will resonate positively to other blockchains’ community members.
  5. Easily find information about a P-Rep’s participation from the Telegram bot.

Technical Specifications:

The primary purpose of the bot is to send us instant notifications about proposals, submissions & voting periods & progress reports. Similar to other bots in ICON, they will be easily queryable too.

These are the tentative notifications that we plan to have in the bot:

Proposal:

  1. Approved (name, team’s name, sponsor P-Rep, budget, link)
  2. Voted (name, P-Rep, P-Rep’s’ Vote, current vote & stake %, total votes, remarks (truncated), link)
  3. Passed (name, team’s name, current vote & stake, total votes, link)
  4. Rejected (name, team’s name, current vote & stake, total votes, link)
  5. Paused (name, team’s name, current vote & stake, total votes, link)
  6. Disqualified (name, team’s name, current vote & stake, total votes, link)
  7. Completed (name, team’s name, current vote & stake, total votes, link)

Period:

  1. Proposal period started (# of last proposals, ICX funds, end date, link)
  2. Proposal period ended (# of proposals, ICX funds requested, end date, new start date, link)
  3. Voting period started (end date, link)
  4. Voting period ended (total proposals, end date, link)

Progress Report:

  1. Submission (name, team’s name, period, link)
  2. Passed (name, team’s name, progress report count/period, status, link)
  3. Rejected (name, team’s name, progress report count/period, status, link)

There can be two implementations to get the above information:

  1. Polling every 30 sec or 1 min to fetch the data
  2. Implement webhooks in CPS to call the bot server for certain actions or events

After discussion with the team, we have decided to implement a webhook feature in the core CPS application. This will reduce the stress on the CPS servers, and the webhook APIs are real-time and can be used by other third-party systems if necessary. For now, the webhook feature will be used by the bot servers only. If there is any demand outside the bots, we can open up the APIs for anyone to access the webhooks.

Project Milestones:

Phase 1: Implementation of webhook feature in CPS & start Telegram & Twitter bot development (2 months)

In this phase, we will work with the CPS development team to implement the webhooks feature in the CPS application. Another dev team will start building the bots in parallel.

  • Implement webhook feature in CPS
  • Start Telegram bot implementation
  • Start Twitter bot implementation
  • Integrate webhooks in the bot server

Phase 2: Complete Telegram & Twitter bot (1 month)

After the webhook implementation is complete, we will integrate the webhooks into the bot server. Integrating the bot servers to the Twitter and Telegram bots will be relatively faster once the webhooks are complete.

  • Test webhooks integration in CPS
  • Complete bots and test
  • Release

Funding Amount Requested:

For this proposal, we are requesting funding for the development of the project. The breakdown is as follows:

  1. Backend Developer for CPS webhook implementation - 1 Developer (Total: $5000 at $2500/month for 2 months)
  2. Backend Developer for Telegram & Twitter bots - 1 Developer (Total: $5000 at $2500/month for 2 months)
  3. Project Manager - 1 part-time (Total $1000 at $500/month for 2 months)

Total: $11,000 (4400 ICX)

Team:

Our team has built several bots in the ICON ecosystem in collaboration with iBriz - ICONOsphere including:

  1. ICON TipTAP Bot (https://t.me/icontiptapbot)
  2. ICON Alert Bot (https://t.me/ibrizalertbot)
  3. Dashboard for Tipping bot (https://icontiptap.ibriz.ai/)
  4. OpenDevICON for group handling and info retrieval (https://t.me/opendeviconbot)

We are lucky to have contributed to several core projects in the ICON blockchain. With more than 60 developers in our network & their experience, we feel extremely confident in the ability to build and deliver this project successfully in the given time.

Already Accomplished Sample Projects:

We have built several telegram bots in the past. We are also part of the core team that built the CPS system. We have the knowledge & expertise to complete this project end to end.
Screenshot from 2021-03-29 13-44-47

Screenshot from 2021-03-29 13-45-31

Screenshot from 2021-03-29 13-46-16

Message from Sponsor

This tool will help to get notified through twitter and telegram about the time critical operations of CPS. It will notify as well as create content in twitter about the CPS activity.

We are excited to sponsor TechFlow.Space which is our collaboration partner in Nepal. They have extensive experience in ICON and have worked with us in many ICON projects highlighted in the proposal.

MILESTONES

@devshack and @Ian_Stakin, thank you for your feedback. It is understandable that the project budget may seem a little high at first glance. It is covered in the work plan but it may still not be clear that coding the bot is at most half of the work. None of the APIs exist yet in CPS to serve the data needed for the bot. So code changes in the existing CPS project itself are the more challenging component.

The existing CPS system has data for when a proposal submission, report, or vote happens, but to notify the bot when such events are triggered, we will need to capture and filter out specific events and send messages to the bot. The CPS code will be modified to do that. This will include a webhook feature in the existing CPS application (for use by the bot servers) where an application may register to get information related to proposals and periods.

So although the bot seems like it’s just gathering existing information and publishing it on Twitter and telegram, there is a lot more coding required behind the scenes to capture that information. As such, we are confident in the accuracy of our time and effort estimation.

Again, Devshack and Stakin, much appreciate your feedback. Hope this will help appease your concerns. We are happy to discuss this further with you in the telegram channel.

3 Likes