Space Acres is an opinionated GUI application for farming on Autonomys Network.
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.
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 functionality
config
contains configuration data structure with ability to read, write and validate it
farmer
contains farmer implementation with a wrapper data structure that abstracts away its internals
networking
contains networking stack that is shared between farmer
and node
with a wrapper data structure
that abstracts away its internals
node
contains consensus node with a wrapper data structure that abstracts away its internals
utils
contains some low-level utilities
frontend
handles majority of frontend logic with each module corresponding to a major application screen/view or
feature
res
contains various non-code resources required for application operation and/or packaging
app.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 look
linux
contains Linux-specific resources
macos
contains macOS-specific resources
translations
contains translations to various languages
windows
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).
In order to build this app you'll need to install both dependencies necessary for building
Subspace and GTK4, including the optionallibrsvg
. 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.
Contributions of various kinds are welcome and appreciated.
Zero-Clause BSD
https://opensource.org/licenses/0BSD
https://tldrlegal.com/license/bsd-0-clause-license