project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

FVM Bot

Real-time notification for any activity relating to any FVM smart contract, actor or FVM wallet; just let the bot know which address you wanna track!

FVM Bot

Created At

Hack FEVM

Project Description

This project is a telegram bot which can track any activity(transaction) related to any FVM smart contract, FVM actor or FVM wallet. The user just needs to reply with the address and the bot will ping them anytime there is any activity related to that address! Tracking multiple addresses is supported as well.

The bot can work with:

  1. Robut address, e.g. t410fjlkt2molcbgpl53cf4npr3ijypfjqbjdnzjcl3a
  2. FVM Smart contract deployment address, e.g. 0x3088B4e915Ee772A5c4fb888fEC696420B890633
  3. FVM Wallet ETH address, e.g. 0x4ad53d31Cb104Cf5f7622f1AF8Ed09C3ca980523
  4. FVM Wallet Filecoin address (F4Address), e.g. f410fjlkt2molcbgpl53cf4npr3ijypfjqbjdnzjcl3a

Also, if the user wants to stop tracking any address, they just need to type: remove <address> e.g. remove t410fjlkt2molcbgpl53cf4npr3ijypfjqbjdnzjcl3a

The tool is easy to use. It provides real-time updates/notifications of any FVM smart contract, actor or FVM wallet on your telegram. DAO could find immense use of this tool to:

  1. Track the smart contracts that they have deployed on FVM.
  2. Track the activities on the DAO wallet and take quick action if something odd is noticed.

How it's Made

This project uses the Telegram API, a nodejs api server and a python cron job running every 5 secs. Api server is responsible for hosting the telegram bot and managing the users list in a postgres DB. Python cron keeps on polling glif api to get the transaction history of any address.

When a user direct-messages any address to the bot, the api server stores the userId and the address in the DB. It also, with the help of the python cron, updates how many transactions have happened for that address into the same record. When a new transaction comes related to that address, the python cron job catches this new transaction and initiates a message to the user informing them about this new 'activity'. It also updates transaction count in the DB.

When the user wishes to remove tracking for an address, there is a certain format 'remove <address>'. Api server parses the address and concludes the intention that the user no more wants to track that address. It deletes that particular record from the DB. Now, the python cron could not pick it up as it iterates over the records in the db and then makes API calls to glif api to fetch transactions and compare the difference.

background image mobile

Join the mailing list

Get the latest news and updates