{"id":14967108,"url":"https://github.com/golemfactory/yagna-service-erigon","last_synced_at":"2026-01-18T02:29:22.677Z","repository":{"id":38300519,"uuid":"367345394","full_name":"golemfactory/yagna-service-erigon","owner":"golemfactory","description":"Erigon (formely Turbo-Geth) node as a Golem long running service","archived":false,"fork":false,"pushed_at":"2022-06-29T11:44:27.000Z","size":1034,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-09T10:42:35.448Z","etag":null,"topics":["golem","ya-runtime"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/golemfactory.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}},"created_at":"2021-05-14T11:44:51.000Z","updated_at":"2023-09-08T18:22:16.000Z","dependencies_parsed_at":"2022-09-08T14:12:48.847Z","dependency_job_id":null,"html_url":"https://github.com/golemfactory/yagna-service-erigon","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fyagna-service-erigon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fyagna-service-erigon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fyagna-service-erigon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fyagna-service-erigon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golemfactory","download_url":"https://codeload.github.com/golemfactory/yagna-service-erigon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092372,"owners_count":20882218,"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":["golem","ya-runtime"],"created_at":"2024-09-24T13:37:28.104Z","updated_at":"2026-01-18T02:29:22.625Z","avatar_url":"https://github.com/golemfactory.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Erigolem\nErigon node as a Golem service\n\nThe purpose of this example is to demonstrate building a Golem service using a dedicated, self-contained runtime. It features an Ethereum network client, Erigon (f.k.a. Turbo-geth) started on provider nodes on user's demand. Interaction with the service, once it's running and its location and credentials have been passed to the requestor, is *not* facilitated by Golem though.\n\n---\n\nThe application consist of three major components:\n\n1. **User interface** (`client/`)  \n   A browser-based interface written in TypeScript using [React](https://reactjs.org/). It allows the end user to interact with the application, i.e. start an Erigon node after authenticating with their [Metamask](https://metamask.io/) wallet, and later manage their node(s).\n2. **Requestor server** (`requestor/`)  \n   A Python application developed using [Quart](https://pgjones.gitlab.io/quart/) and [yapapi-service-manager](https://github.com/golemfactory/yapapi-service-manager). It acts both as an HTTP server (handling requests from the user interface), and as a requestor agent (submitting tasks to the Golem network).\n3. **Erigon runtime** (`ya-runtime-erigon/`)  \n    A dedicated, self-contained runtime created with [ya-runtime-sdk](https://github.com/golemfactory/ya-runtime-sdk). It is a Rust binary wrapping [Erigon](https://github.com/ledgerwatch/erigon) service itself so that it can be orchestrated by yagna daemon. The runtime also controls the access to the service by managing [Nginx](https://www.nginx.com/) configuration.\n\n---\n\nTo use the application locally, run `docker-compose up` and open [http://localhost:8000](). You can provide your own subnet by setting up the `SUBNET_TAG` environment variable. The default `docker-compose.yml` config starts the requestor server and frontend. To start the network checker as well, include `-f network-checker.yml`.\n\nInstructions how to run client and e2e tests are [here](https://github.com/golemfactory/yagna-service-erigon/blob/master/client/README.md).\nInstructions how to run and test the requestor server are [here](https://github.com/golemfactory/yagna-service-erigon/blob/master/requestor/README.md).\n\nFull project documentation can be found in the [Golem handbook](https://handbook.golem.network/requestor-tutorials/service-development/service-example-2-managed-erigon).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fyagna-service-erigon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolemfactory%2Fyagna-service-erigon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fyagna-service-erigon/lists"}