{"id":43672026,"url":"https://github.com/blocknetdx/exrproxy-env","last_synced_at":"2026-02-05T00:13:11.402Z","repository":{"id":38006963,"uuid":"285022512","full_name":"blocknetdx/exrproxy-env","owner":"blocknetdx","description":"erp-ethserver","archived":false,"fork":false,"pushed_at":"2025-03-22T20:30:30.000Z","size":331,"stargazers_count":7,"open_issues_count":13,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T21:32:14.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blocknetdx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-08-04T15:32:59.000Z","updated_at":"2025-03-22T20:30:34.000Z","dependencies_parsed_at":"2024-04-03T17:59:17.545Z","dependency_job_id":"5fb3c6e6-6f90-4e22-a7cd-72e3bb685610","html_url":"https://github.com/blocknetdx/exrproxy-env","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/blocknetdx/exrproxy-env","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocknetdx%2Fexrproxy-env","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocknetdx%2Fexrproxy-env/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocknetdx%2Fexrproxy-env/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocknetdx%2Fexrproxy-env/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blocknetdx","download_url":"https://codeload.github.com/blocknetdx/exrproxy-env/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocknetdx%2Fexrproxy-env/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29102236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T22:44:52.815Z","status":"ssl_error","status_checked_at":"2026-02-04T22:44:16.428Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-02-05T00:13:08.834Z","updated_at":"2026-02-05T00:13:11.397Z","avatar_url":"https://github.com/blocknetdx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enterprise XRouter Environment \n#### Requirements\n- `Docker`\n- `Docker-Compose`\n- `Servicenode Private Key`\n- `Servicenode Name`\n- `Servicenode Address`\n- `Port 80 must be opened on the host`\n\n## env_installer.sh\n**Recommended for new Servers/VM/VPS with Ubuntu 20**\n\nIf you have never run the  [Enterprise XRouter Environment](https://docs.blocknet.org/resources/glossary/#enterprise-xrouter) _Global Install_ script on your server, or if you have not run it since 1 Oct, 2022, copy/paste these commands to run the  _Global Install_  script:\n```\ncurl -fsSL https://raw.githubusercontent.com/blocknetdx/exrproxy-env-scripts/main/env_installer.sh -o env_installer.sh\nchmod +x env_installer.sh\n./env_installer.sh --install \n```\n(It is required to run this _Global Install_ again after 1 October, 2022 to accommodate a Python dependency broken by a 3rd party.)\nIf the _Global Install_ Script detects docker/docker-compose is already\ninstalled, it simply won't install new version(s). If it detects\nthe `~/exrproxy-env` directory already exists, it will update\nit. If it detects `~/exrproxy-env` does not already exist, it will\nclone it from the Github repository and thereby create it.\u003cbr\u003e\n\nNote: The _Global Install_ script only configures the Python\nenvironment for the exrproxy-env located in the user's home\ndirectory. If you have the `exrproxy-env` directory located elsewhere,\nyou'll will need to switch to using it in the home directory or engage\nin some manual tweaking.\n\n__IMPORTANT: This Global Install Script will log you out after it's\nfinished with phase 1 of the install. This is necessary to update\nthe user's membership in the *docker* group of Linux and to activate the python\nversion control system (*pyenv*). Simply log in again after it logs you out,\nthen issue the following command again to complete phase 2 of the install:__\n```\n./env_installer.sh --install\n```\n\nThen following the steps below.\n\n## Deploy a EXR ENV stack via built-in scripts\n* check [Official docs](https://docs.blocknet.org/service-nodes/setup/#deploy-enterprise-xrouter-environment) for more details\n\n### Shell\nGenerate and deploy a EXR ENV stack\n```bash\n./exr_env.sh --update --builder \"--deploy\"\n```\nDisplay help message\n```bash\n./exr_env.sh --help\n\nEnterprise XRouter Proxy Environment\nPowered by Blocknet.co\n\noptions:\n-h | --help       Print this Help.\n-u | --update     Update local repo.\n-b | --builder    Call builder.py with args.\n-v | --version    Print software version and exit.\n```\n### Python\nGenerate and deploy a EXR ENV stack\n```bash\n./builder.py --deploy\n```\nDisplay help message\n```\n./builder.py --help\nusage: builder.py [-h] [--nochecks] [--noenv] [--deploy] [--prune]\n                  [--source SOURCE] [--yaml YAML] [--interval INTERVAL]\n                  [--branchpath BRANCHPATH] [--prunecache] [--subnet SUBNET]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --nochecks            Don't check docker requirements\n  --noenv               Don't check if .env file exists (only for advanced\n                        users)\n  --deploy              Autodeploy stack\n  --prune               Prune docker\n  --source SOURCE       Source file\n  --yaml YAML           Custom input yaml\n  --interval INTERVAL   Docker stopping interval till sends SIGKILL signal; default 30s\n  --branchpath BRANCHPATH\n  --xquerytag TAG \n  --prunecache          Reinit .known_hosts, .known_volumes, .env and .cache\n                        files\n  --subnet SUBNET       Subnet to configure docker-compose network \n```\n\n\n## Create Project\n\nSee [Request Project API](https://api.blocknet.org/#request_project)\n\n## Checking stack\n\nThere are three python scripts to check API in `auto_test` directory:\n\n- exr_methods.py - RPC calls to exr\n- xrouter_methods.py - RPC calls to xrouter\n- snode_methods.py - RPC calls to snode \n\nRPC methods are stored in json files. You are free to add/remove them. \n\n_More details in auto_test/README.md_\n\nExamples: \n\nRetrieving the current block height of the longest chain for the specified blockchain.\n_Make sure your xrouter config supports specified blockchain._ \n```bash \npython3 xrouter_methods.py LTC http://127.0.0.1 xrouter_methods.json \n----------------------------------------\nMethod xrGetBlockCount HTTP status code 200\n1966098\n\npython3 xrouter_methods.py BTC http://127.0.0.1 xrouter_methods.json \n----------------------------------------\nMethod xrGetBlockCount HTTP status code 200\n2034177\n\npython3 xrouter_methods.py BTC http://127.0.0.1 xrouter_methods.json \n----------------------------------------\nMethod xrGetBlockCount HTTP status code 200\n2034177\n\npython3 exr_methods.py project --api-key N8Zk0-hBRqD81dmBDEQP5qUpf9-XKz5eVPcstPkr8C0 --project-id 6228e1ed-1c78-40ca-9813-421d0fdfbfcf  http://127.0.0.1 exr_methods.json\n---------------------------------------\nMethod eth_blockNumber HTTP status code 200\n0xa2028a\n---------------------------------------\nMethod eth_chainId HTTP status code 200\n0x3\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocknetdx%2Fexrproxy-env","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblocknetdx%2Fexrproxy-env","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocknetdx%2Fexrproxy-env/lists"}