{"id":23107827,"url":"https://github.com/kleros/aws-event-driven-ethereum","last_synced_at":"2025-04-03T22:44:11.837Z","repository":{"id":86709136,"uuid":"499307928","full_name":"kleros/aws-event-driven-ethereum","owner":"kleros","description":"λ Lambda stack to monitor Smart Contract events.","archived":false,"fork":false,"pushed_at":"2022-09-21T07:59:37.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T16:51:04.720Z","etag":null,"topics":["backend","kleros","platform"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kleros.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-02T22:24:50.000Z","updated_at":"2022-09-21T08:00:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"c0d82963-4cf8-46a8-84e6-d26ca7600b55","html_url":"https://github.com/kleros/aws-event-driven-ethereum","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Faws-event-driven-ethereum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Faws-event-driven-ethereum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Faws-event-driven-ethereum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleros%2Faws-event-driven-ethereum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleros","download_url":"https://codeload.github.com/kleros/aws-event-driven-ethereum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092373,"owners_count":20882217,"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":["backend","kleros","platform"],"created_at":"2024-12-17T01:16:16.874Z","updated_at":"2025-04-03T22:44:11.831Z","avatar_url":"https://github.com/kleros.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Driven Ethereum using Lambdas and Parameter Store\nThis is a deployable SAM repository that deploys:\n1. Lambda on a 15min schedule that checks for mutations on a smart contract\n2. Notifies a SQS/SNS/S3 \nIt uses Parameter store to determine what needs checking and to store block height.\n\n\nThe intention of this tool was to abstract part of the event processing logic away from bots. \n## Production recommendation\nIsolated accounts with unique RPC (Infura/Alchemy/Pokt.Network) endpoints for a low-cost approach.  Archive node endpoints \nIf working with \u003e50 watched contracts, consider running the lambda more often by changing the CloudWatch event trigger.\n## Gotchas\n1. At-least once message delivery, do your own *idempotency* if working e.g. with transactional operations.\n\n## Required parameters:\n1. `/ede/config/mainnet` = Ethereum RPC endpoint.\n2. `/ede/config/gnosis` = Gnosis RPC endpoint.\n3. Various VPC/Subnet  parameters, see `template.yaml`.\n\n## Write ABI\nI use a dynamodb to store the ABI of the contracts. The key in dynamo should match \"ContractName\" in SSM\n\n## Watching a contract\n`/ede/tasks/mainnet/\u003cContractName\u003e/\u003cEvent\u003e/\u003cContractAddress\u003e`\n\nExample:\n`/ede/tasks/mainnet/ProofOfHumanity/AddSubmission/0xC5E9dDebb09Cd64DfaCab4011A0D5cEDaf7c9BDb`\nThis watches a ProofOfHumanity contract at 0xC5..\nYour SSM can be tagged with SQS or SNS to receive notifications in form of the tx hash.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleros%2Faws-event-driven-ethereum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkleros%2Faws-event-driven-ethereum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleros%2Faws-event-driven-ethereum/lists"}