Awesome
Space Acres
Space Acres is an opinionated GUI application for farming on Autonomys Network.
Current status
Current status of the project is Beta.
This means that it should generally work, most happy paths and edge cases are handled, many error cases have reasonable recovery options, etc.
Current version supports Gemini 3h chain only and doesn't allow to select anything else. It supports upgrading existing installations from 3g.
Features
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!
Installation
See docs/INSTALLATION.md for details
Project structure
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
frontend
handles majority of frontend logic with each module corresponding to a major application screen/view or featureres
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 resourcesmacos
contains macOS-specific resourcestranslations
contains translations to various languageswindows
contains Windows-specific resources
main.rs
handles CLI, instantiates frontend and backend, wiring everything together
Application supports bare minimum configuration and doesn't support operator functionality (not yet anyway).
How to build
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.
On Linux D-Bus development headers also need to be installed, can be done with sudo apt-get install libdbus-1-dev
on
Ubuntu.
Then simply cargo run
will get you where to want to be.
Contribution
Contributions of various kinds are welcome and appreciated.
License
Zero-Clause BSD