{"id":13453175,"url":"https://github.com/gakonst/dark-forest","last_synced_at":"2025-04-30T09:47:48.579Z","repository":{"id":47742183,"uuid":"381842176","full_name":"gakonst/dark-forest","owner":"gakonst","description":"[WIP] Rust implementation of the Dark Forest game client","archived":false,"fork":false,"pushed_at":"2021-08-16T07:38:18.000Z","size":22067,"stargazers_count":65,"open_issues_count":2,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-25T06:42:57.749Z","etag":null,"topics":["cryptography","dark-forest","ethereum","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/gakonst.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}},"created_at":"2021-06-30T21:58:35.000Z","updated_at":"2025-02-23T11:05:45.000Z","dependencies_parsed_at":"2022-08-23T12:40:33.026Z","dependency_job_id":null,"html_url":"https://github.com/gakonst/dark-forest","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/gakonst%2Fdark-forest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gakonst%2Fdark-forest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gakonst%2Fdark-forest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gakonst%2Fdark-forest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gakonst","download_url":"https://codeload.github.com/gakonst/dark-forest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242631139,"owners_count":20160830,"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":["cryptography","dark-forest","ethereum","rust"],"created_at":"2024-07-31T08:00:34.106Z","updated_at":"2025-03-09T01:31:59.156Z","avatar_url":"https://github.com/gakonst.png","language":"Rust","funding_links":[],"categories":["Plugins"],"sub_categories":["Developers"],"readme":"# \u003ch1 align=\"center\"\u003e dark-forest.rs \u003c/h1\u003e\n\n*Terminal UI implementation and types for the Dark Forest game*\n\n![Github Actions](https://github.com/gakonst/dark-forest/workflows/Tests/badge.svg)\n\n## Development\n\nWe use the standard Rust toolchain\n\n```\ncargo check\ncargo test\ncargo doc --open\ncargo run\n```\n\n## Move CLI Usage\n\nIn order to send forces to another planet, you can use the CLI command below, which\nwill move 100 units (internally coded as 100000, because DF types are all x100 on-chain to avoid\nrounding errors) to the target planet. Coordinates are given as a comma separated list of\nsigned integers.\n\n```\ncargo r move --from=-100,100 --to=-120,120 \\\n    --wasm ./crates/df-engine/round3-data/move.wasm \\\n    --r1cs ./crates/df-engine/round3-data/move.r1cs \\\n    --zkey ./crates/df-engine/round3-data/move.zkey \\\n    --private-key \u003cyour private key without a 0x\u003e\n```\n\n## Roadmap\n\n* [ ] Dark Forest Types\n    * [x] Map: Can read the map from the plugin\n    * [ ] Planets\n        * [x] Info\n        * [x] Off-chain stats calculation for uninitialized planets\n* [ ] Actions\n    * [ ] Planets\n        * [ ] Moving\n        * [ ] Upgrading\n        * [ ] Refresh a Planet\n    * [ ] Artifacts\n        * [ ] Prospect\n        * [ ] Find\n        * [ ] Deposit\n        * [ ] Withdraw\n        * [ ] Activate\n        * [ ] Deactive\n    * [ ] Silver\n* [ ] TUI / CLI / Repl for interacting with the system\n* [ ] Caching responses\n* [ ] Smart Contract Accounts\n* [x] Type safe bindings to the smart contracts\n* [ ] Fast Explorer\n* [ ] Fast SNARKer for moves\n* [ ] Refactor to smaller packages which can be imported for 3rd party integrations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgakonst%2Fdark-forest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgakonst%2Fdark-forest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgakonst%2Fdark-forest/lists"}