Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gakonst/dark-forest
[WIP] Rust implementation of the Dark Forest game client
https://github.com/gakonst/dark-forest
cryptography dark-forest ethereum rust
Last synced: 13 days ago
JSON representation
[WIP] Rust implementation of the Dark Forest game client
- Host: GitHub
- URL: https://github.com/gakonst/dark-forest
- Owner: gakonst
- Created: 2021-06-30T21:58:35.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-16T07:38:18.000Z (about 3 years ago)
- Last Synced: 2024-10-04T11:56:39.768Z (about 1 month ago)
- Topics: cryptography, dark-forest, ethereum, rust
- Language: Rust
- Homepage:
- Size: 21 MB
- Stars: 63
- Watchers: 5
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-darkforest - Dark Forest Rust
README
#
dark-forest.rs
*Terminal UI implementation and types for the Dark Forest game*
![Github Actions](https://github.com/gakonst/dark-forest/workflows/Tests/badge.svg)
## Development
We use the standard Rust toolchain
```
cargo check
cargo test
cargo doc --open
cargo run
```## Move CLI Usage
In order to send forces to another planet, you can use the CLI command below, which
will move 100 units (internally coded as 100000, because DF types are all x100 on-chain to avoid
rounding errors) to the target planet. Coordinates are given as a comma separated list of
signed integers.```
cargo r move --from=-100,100 --to=-120,120 \
--wasm ./crates/df-engine/round3-data/move.wasm \
--r1cs ./crates/df-engine/round3-data/move.r1cs \
--zkey ./crates/df-engine/round3-data/move.zkey \
--private-key
```## Roadmap
* [ ] Dark Forest Types
* [x] Map: Can read the map from the plugin
* [ ] Planets
* [x] Info
* [x] Off-chain stats calculation for uninitialized planets
* [ ] Actions
* [ ] Planets
* [ ] Moving
* [ ] Upgrading
* [ ] Refresh a Planet
* [ ] Artifacts
* [ ] Prospect
* [ ] Find
* [ ] Deposit
* [ ] Withdraw
* [ ] Activate
* [ ] Deactive
* [ ] Silver
* [ ] TUI / CLI / Repl for interacting with the system
* [ ] Caching responses
* [ ] Smart Contract Accounts
* [x] Type safe bindings to the smart contracts
* [ ] Fast Explorer
* [ ] Fast SNARKer for moves
* [ ] Refactor to smaller packages which can be imported for 3rd party integrations