Space Acres is an opinionated GUI application for farming on Autonomys Network.
Current status of the project is Alpha.
This means that while it should generally work, expect things to not work sometimes, break in unexpected ways and error handling to be lacking.
Current version supports Gemini 3h chain only and doesn't allow to select anything else. It supports upgrading existing installations from 3g.
Current features:
- Configuration (reward address, node location, multiple farms, P2P ports)
- Node sync with displayed progress, speed and ETA
- Farmer plotting/farming piece cache/plotting/replotting progress display and speed calculation
- Farmer auditing/proving performance indicators
- Farmer sector state visualization
Upcoming features/capabilities: see open issues, also consider contributing if something is missing!
See docs/INSTALLATION.md for details
The project at high level is structured in a few large modules:
backend
handles all the backend functionalityconfig
contains configuration data structure with ability to read, write and validate itfarmer
contains farmer implementation with a wrapper data structure that abstracts away its internalsnetworking
contains networking stack that is shared betweenfarmer
andnode
with a wrapper data structure that abstracts away its internalsnode
contains consensus node with a wrapper data structure that abstracts away its internalsutils
contains some low-level utilities
docs
contains documentation filesfrontend
handles majority of frontend logic with each module corresponding to a major application screen/viewres
contains various non-code resources required for application operation and/or packagingapp.css
contains a few small non-critical tweaks for presentation, it will likely be necessary to ship a GTK4 theme with the app in the future to ensure consistent looklinux
contains Linux-specific resourceswindows
contains Windows-specific resources
main.rs
handles high-level UI and communication with backend, wiring everything together
Application supports bare minimum configuration and doesn't support operator functionality (not yet anyway).
In order to build this app you'll need to install both dependencies necessary for building
Subspace and GTK4, including the optional
librsvg
. Follow their documentation for details, otherwise cargo run
will get you where to want to be.
Contributions of various kinds are welcome and appreciated.
Zero-Clause BSD