{"id":42599040,"url":"https://github.com/nspcc-dev/neofs-dev-env","last_synced_at":"2026-01-29T00:16:32.518Z","repository":{"id":37950724,"uuid":"278665837","full_name":"nspcc-dev/neofs-dev-env","owner":"nspcc-dev","description":" NeoFS local Development and Testing environment ","archived":false,"fork":false,"pushed_at":"2025-02-14T20:24:17.000Z","size":375,"stargazers_count":9,"open_issues_count":12,"forks_count":25,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-02-14T21:29:08.641Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fs.neo.org","language":"Makefile","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/nspcc-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2020-07-10T15:13:42.000Z","updated_at":"2025-02-14T20:24:19.000Z","dependencies_parsed_at":"2023-09-26T16:44:31.161Z","dependency_job_id":"49ee4c5a-fda6-491c-8b02-6ce460100b9a","html_url":"https://github.com/nspcc-dev/neofs-dev-env","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/nspcc-dev/neofs-dev-env","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nspcc-dev%2Fneofs-dev-env","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nspcc-dev%2Fneofs-dev-env/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nspcc-dev%2Fneofs-dev-env/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nspcc-dev%2Fneofs-dev-env/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nspcc-dev","download_url":"https://codeload.github.com/nspcc-dev/neofs-dev-env/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nspcc-dev%2Fneofs-dev-env/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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-01-29T00:16:27.702Z","updated_at":"2026-01-29T00:16:32.510Z","avatar_url":"https://github.com/nspcc-dev.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"./.github/logo.svg\" width=\"500px\" alt=\"NeoFS\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://fs.neo.org\"\u003eNeoFS\u003c/a\u003e local Development and Testing environment\n\u003c/p\u003e\n\n---\n## Overview\n\nTools to set up local NeoFS network and N3 privnets. Devenv, for short.\n\n## Prerequisites\n\nMake sure you have installed all of the following prerequisites on your machine:\n* docker compose\n* make (`3.82+`)\n* expect\n* openssl\n* jq\n* base64 (coreutils)\n\n\n## Quick Start\n\nClone repo: \n\n```\n$ git clone https://github.com/nspcc-dev/neofs-dev-env.git\n```\n\nRun next commands from project's root:\n\n```\n$ make get\n```\n\nThis command should be executed for the first run only to execute \n`make hosts`. It is part of the `make up` and, if the hosts have \nbeen added already, there is no need to run it separately.\n\n```\n$ make hosts\n192.168.130.10 bastion.neofs.devenv\n192.168.130.50 main-chain.neofs.devenv\n192.168.130.61 ir01.neofs.devenv\n...\n192.168.130.74 s04.neofs.devenv\n```\n\nThis command shows addresses and hostnames of components. Add `make hosts`\noutput to your local `/etc/hosts` file.\n\nRun all services with command:\n``` \n$ make up\n```\n\nWhen all services are up, you need to make GAS deposit for test wallet to be\nable to pay for NeoFS operations. Test wallet is located in\n`wallets/wallet.json`. The password is empty.\n\n```\n$ make prepare.ir\npassword \u003e\nfa6ba62bffb04030d303dcc95bda7413e03aa3c7e6ca9c2f999d65db9ec9b82c\n```\n\nAlso you should add self-signed node (`s04.neofs.devenv`) certificate to trusted\nstore (default location might be changed using `CA_CERTS_TRUSTED_STORE`\nvariable). This step is required for client services (neofs-rest-gw,\nneofs-s3-gw) to interact with the node:\n\n```\n$ make prepare.storage\n```\n\nChange NeoFS global configuration values with `make update.*` commands. The\npassword of inner ring wallet is `one`. See examples in `make help`.\n\n```\n$ make update.epoch_duration val=30\nChanging EpochDuration configuration value to 30\nEnter account NNudMSGzEoktFzdYGYoNb3bzHzbmM1genF password \u003e \nSent invocation transaction dbb8c1145b6d10f150135630e13bb0dc282023163f5956c6945a60db0cb45cb0\nUpdating NeoFS epoch to 2\nEnter account NNudMSGzEoktFzdYGYoNb3bzHzbmM1genF password \u003e \nSent invocation transaction 0e6eb5e190f36332e5e5f4e866c7e100826e285fd949e11c085e15224f343ba6\n```\n\nFor instructions on how to set up DevEnv on macOS, please refer [the\nguide](docs/macOS.md) in `docs` directory.\n\n## How it's organized\n\n```\n.\n├── Makefile         # Commands to manage devenv\n├── .services        # List of services to work with\n├── services         # Services definitions and files\n│   ├── basenet\n│   ├── chain\n│   ├── ir\n│   └── storage\n├── vendor           # Temporary files and artifacts\n└── wallets          # Wallet files to manage GAS assets\n```\n\nMain commands and targets to manage devenv's services are in `Makefile`.\n\nEach service is defined in it's own directory under `services/` with all\nrequired files to run and scripts to get external artifacts or dependencies.\n\nThe list of services and the starting order is defined in `.services` file. You\ncan comment out services you don't want to start or add your own new services.\n\nYou can find more information on each service in `docs` directory.\n\nMaybe you will find the answer for your question in [F.A.Q.](docs/faq.md)\n\n## Using NeoFS Admin Tool in `dev-env`\n\nDevenv supports NeoFS network management via [neofs-adm](https://github.com/nspcc-dev/neofs-node/tree/master/cmd/neofs-adm).\n`services/ir` contains the Alphabet wallet in a proper format, specify it\nwith `--alphabet-wallets` flag.\n\n## Notable make targets\n\n`make help` will print the brief description of available targets. Here we\ndescribe some of them in a more detailed way.\n\n### up\n\nStart all Devenv services.\n\nThis target call `pull` to get container images, `get` to download required\nartifacts, `vendor/hosts` to generate hosts file and then starts all services in\nthe order defined in `.services` file.\n\n### down\n\nShutdowns all services. This will destroy all containers and networks. All\nchanges made inside containers will be lost.\n\n### hosts\n\nDisplay addresses and host names for each running service, if available.\n\n### clean\n\nClean up `vendor` directory. Remove services' Docker volumes incl:\n- stored NeoFS objects\n- NeoFS chain state\n\n## Contributing\n\nFeel free to contribute to this project after reading the [contributing\nguidelines](CONTRIBUTING.md).\n\nBefore starting to work on a certain topic, create an new issue first,\ndescribing the feature/topic you are going to implement.\n\n# License\n\n- [GNU General Public License v3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnspcc-dev%2Fneofs-dev-env","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnspcc-dev%2Fneofs-dev-env","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnspcc-dev%2Fneofs-dev-env/lists"}