{"id":21853830,"url":"https://github.com/brunneis/lor-verifier","last_synced_at":"2026-05-13T12:36:25.647Z","repository":{"id":88084943,"uuid":"217888867","full_name":"brunneis/lor-verifier","owner":"brunneis","description":"LoR Merkle proof verifier","archived":false,"fork":false,"pushed_at":"2020-02-17T21:59:18.000Z","size":158,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T13:41:23.945Z","etag":null,"topics":["merkle","merkle-path","merkle-proof","merkle-tree","proof","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brunneis.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}},"created_at":"2019-10-27T17:12:28.000Z","updated_at":"2020-08-20T13:17:28.000Z","dependencies_parsed_at":"2023-05-18T05:15:37.904Z","dependency_job_id":null,"html_url":"https://github.com/brunneis/lor-verifier","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/brunneis%2Flor-verifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunneis%2Flor-verifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunneis%2Flor-verifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunneis%2Flor-verifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brunneis","download_url":"https://codeload.github.com/brunneis/lor-verifier/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244852214,"owners_count":20521151,"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":["merkle","merkle-path","merkle-proof","merkle-tree","proof","rest-api"],"created_at":"2024-11-28T01:27:36.388Z","updated_at":"2025-10-28T16:13:09.031Z","avatar_url":"https://github.com/brunneis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# lor-verifier\n\nVerify LoR Merkle proofs.\n\n\u003cimg src=\"webapp/screenshot.png\" alt=\"Webapp screenshot\"/\u003e\n\n## Deployment\nEdit the `webapp/env.sh` and change the value of the environment variable `API_ENDPOINT` to the endpoint that the interface will use.\n\nLaunch both the interface and the API with:\n```bash\n./launch.sh\n```\n\nThis will build the Docker images and launch the following compose file:\n```yaml\nversion: \"3.4\"\n\nservices:\n  lor-api:\n    container_name: lor-api\n    build: \n      context: ./api\n    ports:\n      - 8080:8080\n\n  lor-webapp:\n    container_name: lor-webapp\n    build:\n      context: ./webapp\n    ports:\n      - 80:80\n```\n\n## HTTP API\nYou can query the HTTP directly. There is a single endpoint mapped to `/` followed by the proof you want to verify.\n```bash\ncurl https://api.verifier.graphn.dev/o29f414e23420630b57ca83781dd8c98c8cd8d33e6ac8563b53c3f4da9227133dl3fc893246780c0826922e1acf5ddb874fd65577ec03f930a67a2b7f034e8cd8fr7354af0939d7c2fafec3db2029a6c69921e6e798f951ccbe524b56b4aaf16a29l4455509dfb5e881acb9dd6db9ffd5784819dfe8e8cfdb23c2fb68f0682e843ebrf61cf8fa67181456b95e3c92203febbdb83543634edc15fcc30d908ff03edef6rbc41c5bc415fa501382a3bc0bf38b6cdd2f8d0678072b31866f4047659866079rd6b5a219b474b2f81cf198bee84777a2d268d2fb4fa6aeed312f34b99c1e0d9cl8f2ec2c1757274c9a8d1c106eca9cb4f1f560923b7d94430dde65c1954c845a9rd36b63988fb44162112e30427488e1416cf2890acf9ffdb887ecc2bf99fb9d15l98340d29299f63e1e42a88899641ca65a158cf54976d6ecc1e9d5f7df45d0e69rf42b03ae8225b49f5ba19ba473358cd09c0b1c8825215e7211980be0ea21d5e8la6acfe1f00dfd9bbe3976c41b9725959b5d78eef347b58858e437590efa20554lc60edf74e8cdb335d88dae9f6170435ad290e01a5cbbdea847d20576f4e76925l42ee189ffa8f406a5a4b262515c292aec6e771aca4d6383b16da41ec208f73f7l59d059d7dba20940c5385386e926a48415eec587d5e9426f3da7336fbee7490fr1639ef7d960c3f597ba5bc6df69dc53613bea09f753e7c848a4734791e73a021l3e276161cddc4781ee58b256840fad58037addd7565391a3469bdc55e4e02d188fdb034a6cc3dba428aa373eb0f8b5923d69f38d6b52115f766080793c380a1c\n```\n```json\n{\"verified_hash\":\"29f414e23420630b57ca83781dd8c98c8cd8d33e6ac8563b53c3f4da9227133d\",\"root_hash\":\"8fdb034a6cc3dba428aa373eb0f8b5923d69f38d6b52115f766080793c380a1c\",\"valid\":true}\n```\n---\n```bash\ncurl https://api.verifier.graphn.dev/o29f414e23420630b57ca83781dd8c98c8cd8d33e6ac8563b53c3f4da9227133dl3fc893246780c0826922e1acf5ddb874fd65577ec03f930a67a2b7f034e8cd8fr7354af0939d7c2fafec3db2029a6c69921e6e798f951ccbe524b56b4aaf16a29l4455509dfb5e881acb9dd6db9ffd5784819dfe8e8cfdb23c2fb68f0682e843ebrf61cf8fa67181456b95e3c92203febbdb83543634edc15fcc30d908ff03edef6rbc41c5bc415fa501382a3bc0bf38b6cdd2f8d0678072b31866f4047659866079rd6b5a219b474b2f81cf198bee84777a2d268d2fb4fa6aeed312f34b99c1e0d9cl8f2ec2c1757274c9a8d1c106eca9cb4f1f560923b7d94430dde65c1954c845a9rd36b63988fb44162112e30427488e1416cf2890acf9ffdb887ecc2bf99fb9d15l98340d29299f63e1e42a88899641ca65a158cf54976d6ecc1e9d5f7df45d0e69rf42b03ae8225b49f5ba19ba473358cd09c0b1c8825215e7211980be0ea21d5e8la6acfe1f00dfd9bbe3976c41b9725959b5d78eef347b58858e437590efa20554lc60edf74e8cdb335d88dae9f6170435ad290e01a5cbbdea847d20576f4e76925l42ee189ffa8f406a5a4b262515c292aec6e771aca4d6383b16da41ec208f73f7l59d059d7dba20940c5385386e926a48415eec587d5e9426f3da7336fbee7490fr1639ef7d960c3f597ba5bc6df69dc53613bea09f753e7c848a4734791e73a021l3e276161cddc4781ee58b256840fad58037addd7565391a3469bdc55e4e02d188fdb034a6cc3dba428aa373eb0f8b5923d69f38d6b52115f766080793c380a1c\n```\n```json\n{\"verified_hash\":\"29f414e23420630b57ca83781dd8c98c8cd8d33e6ac8563b53c3f4da9227133d\",\"root_hash\":\"8fdb034a6cc3dba428aa373eb0f8b5923d69f38d6b52115f766080793c380a1c\",\"valid\":true}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunneis%2Flor-verifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrunneis%2Flor-verifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunneis%2Flor-verifier/lists"}