{"id":18386651,"url":"https://github.com/peerchemist/py-evmlistener","last_synced_at":"2025-06-11T05:32:56.030Z","repository":{"id":240907095,"uuid":"803420718","full_name":"peerchemist/py-evmlistener","owner":"peerchemist","description":"EVM event log listener deamon written in python.","archived":false,"fork":false,"pushed_at":"2025-03-24T10:05:47.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T03:55:06.794Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peerchemist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-20T17:32:02.000Z","updated_at":"2025-03-24T10:05:51.000Z","dependencies_parsed_at":"2024-05-21T12:07:25.179Z","dependency_job_id":"7b09d572-e054-4cab-96a8-31577ec7c22a","html_url":"https://github.com/peerchemist/py-evmlistener","commit_stats":null,"previous_names":["peerchemist/py-evmlistener"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Fpy-evmlistener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Fpy-evmlistener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Fpy-evmlistener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Fpy-evmlistener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peerchemist","download_url":"https://codeload.github.com/peerchemist/py-evmlistener/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Fpy-evmlistener/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259207689,"owners_count":22821741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T01:22:54.984Z","updated_at":"2025-06-11T05:32:56.006Z","avatar_url":"https://github.com/peerchemist.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# py-evmlistener\n\nThis daemon establishes a JSON-RPC connection with a remote EVM blockchain RPC node to monitor EVM log events, specifically Burn and Mint events.\nUpon detecting new log entries, it sends notifications through the Telegram API. Support for desktop notification sis work in progress.\n\nSee the `config.py` file to see how to define contract to be monitored.\n\n## Config\n\nWrite a configuration like this in the `conf.toml` file.\n\n```\n[Config]\ndb_name = \"db.sqlite\"\nloop_timeout = 1200     # 20 minutes of pause between loops\ntg_bot_token = \"\"       # Telegram bot token\nchat_id = \"-\"           # Channel in which the bot will post notifications\nmax_retries = 2         # Number of retries per API call, in case it fails\n\n# Here deployed network is defined\n[[DeployedConfig.deployed]]\nname = \"EthereumMainnet\"\nnetwork_id = 1\nexplorer_url = \"https://etherscan.io/tx/\"\n\n# Here RPC API endpoint is defined\n[DeployedConfig.deployed.rpc]\nurl = \"https://eth.llamarpc.com\"\nkey = \"\"\n\n# Here the contract is defined\n[DeployedConfig.deployed.contract]\naddress = \"0x044d078F1c86508e13328842Cc75AC021B272958\"\nevents = [\n    \"0x935de72880f413b300ee847a0c53a5dda664c42a0a4adddd88cf2a556f39ae01\",\n] # [WPPCBurned] List of events\nfrom_block_height = 19904399\n```\n\n## Telegram stuff\n\nTo create a new Telegram bot, start by messaging `@BotFather` on Telegram and following the prompts to create a bot and obtain a token.\nNext, to add the bot to a channel or group, open the channel or group, go to \"Manage Channel/Group,\" select \"Administrators,\" and add your bot.\nFinally, to find the Telegram channel ID, forward a message from the channel to `@userinfobot` or `@username_to_id_bot`, which will respond with the channel ID.\nAlternatively, you can open web.telegram.org and observe the channel ID in the URL.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeerchemist%2Fpy-evmlistener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeerchemist%2Fpy-evmlistener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeerchemist%2Fpy-evmlistener/lists"}