{"id":31914122,"url":"https://github.com/ambiretech/adex-supermarket","last_synced_at":"2025-10-13T18:59:52.218Z","repository":{"id":54683351,"uuid":"249486327","full_name":"AmbireTech/adex-supermarket","owner":"AmbireTech","description":"Rust implementation of the AdEx Supermarket","archived":false,"fork":false,"pushed_at":"2021-04-13T10:22:37.000Z","size":506,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-10T16:39:31.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AmbireTech.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":"2020-03-23T16:37:00.000Z","updated_at":"2021-02-02T08:17:34.000Z","dependencies_parsed_at":"2022-08-14T00:00:19.985Z","dependency_job_id":null,"html_url":"https://github.com/AmbireTech/adex-supermarket","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AmbireTech/adex-supermarket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbireTech%2Fadex-supermarket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbireTech%2Fadex-supermarket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbireTech%2Fadex-supermarket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbireTech%2Fadex-supermarket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmbireTech","download_url":"https://codeload.github.com/AmbireTech/adex-supermarket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbireTech%2Fadex-supermarket/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016629,"owners_count":26085855,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2025-10-13T18:59:50.586Z","updated_at":"2025-10-13T18:59:52.211Z","avatar_url":"https://github.com/AmbireTech.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AdEx Supermarket\n\n## Running the Supermarket\n\nThe Supermarket runs on port `3000`. For a full list of all available CLI options on the Supermarket run `--help`:\n\n```bash\ncargo run -- --help\n```\n\n### CLI options\n\n`supermarket [OPTIONS] -m \u003cmarketUrl\u003e`\n\n`--marketUrl` / `-m`: *required* - The url of the [`adex-market`](https://github.com/AdExNetwork/adex-market)\n\n`--config` / `-c`: *optional* - If set it will use custom config file path, otherwise it will use [`prod.toml`](./config/prod.toml) (`production`) or [`dev.toml`](./config/dev.toml) (`development`), see the [`ENV` environment variable](#environment-variables) for more details.\n\n### Environment variables\n\n* `ENV` - *default*: `development` - `production` or `development`\n* `PORT` - *default*: `3000` - the port on which the API will be accessible\n\n### Docker\n\nYou can use the included [`Dockerfile`](./Dockerfile) to run the Supermarket in a container.\n\n1. Build the image:\n\n```bash\ndocker build -t adex-supermarket .\n```\n\n2. After building the image you can start a container (`production`):\n\n- with production `https://market.adex.network`:\n\n```\ndocker run --detach -e ENV=production -p 3000:3000 -e MARKET_URL=https://market.adex.network/ adex-supermarket\n```\n\n- with locally running `adex-market` (on `https://localhost:4000`):\n\n```bash\ndocker run --detach -e ENV=production -e MARKET_URL=https://localhost:4000 adex-supermarket\n```\n\nWhen running a container you can use the same [environment variables](#environment-variables), except `PORT` which is set to the default `3000` and exposed by the [`Dockerfile`](./Dockerfile).\nYou can also set the CLI option of the Supermarket using the following environment variables:\n\n* `MARKET_URL`: *required* - sets the `--marketUrl` / `-m`\n* `CONFIG`: *optional* - if set, it will pass the `--config` / `-c` option with the specified configuration file path inside the container\n* `IP_ADDR`: *optional*, default: `127.0.0.1` - IP address to which the web server to be bound \n  This is useful when running in `Docker` and sometimes we need to change the IP to `0.0.0.0`\n* `PORT`: *optional*, default: `3000` - the port to which the web server to be bound\n\n## Development \u0026 Testing\n\nFor development purposes, all you have to do is format your code with `Rustfmt`, fix any `Clippy` warnings \u0026 make sure that all the tests pass:\n\n```bash\ncargo fmt\ncargo clippy\ncargo test --all-features\n```\n\n### Comparing market/supermarket output for /units-for-slot route\n\n1. In `adex-market` run `npm run units-for-slot-test-output`\n\n2. Run `cargo test get_sample_units_for_slot_output -- --show-output --ignored`\n\n## Supported Rust Versions `1.48.0`\n\nThe supported Rust version is `1.48.0`, which can be found in the [`rust-toolchain`](./rust-toolchain) file.\n\n## License\n\nThis project is licensed under the [AGPL-3.0 License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambiretech%2Fadex-supermarket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fambiretech%2Fadex-supermarket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambiretech%2Fadex-supermarket/lists"}