Coder Social home page Coder Social logo

chia-manager's Introduction

⚠️ Project moved: Our project will now be developed here

chia-manager

Important notice

This tool is not officially published by CHIA NETWORK INC nor officially supported! It is an unofficial hobby project. Chia® and the Chia Leaf Logo™ are registered trademarks or trademarks of Chia Network, Inc. in the United States and worldwide. All in italic written words are copyright protected.

About Chia® Manager

This project is made for Chia® Farmer . Please visit https://www.chia.net/ to get more information about Chia®. The main goal is to make monitoring and managing the Chia® Infrastructure and the needed nodes more efficient and easy.

You are able to find further information about our project in detail in our documentation. Check it out!

Why should i use it?

This project should make it more easy to use, manage and monitor your Chia® Nodes and to be sure every node makes his work and you are good to go.

Some of the upcoming feature like autoplotting via Madmax plotter will excite you.

Furthermore this project (will) offer(s) nearly everything like the Chia® electron gui. Read more in the following sections.

What can i do with it?

Monitoring

You are able to monitor the up-status and service(s) of every node. Every node will be checked if it is up running and if the (farmer/harvester/wallet/etc.) service is working correctly.

Managing

At the moment you are able to restart a certain service if it is not running correctly right from the webgui.

Overview

Currently you are able to view the following read-only information partially reclined on the Chia® electron gui:

  • Node system information (Filesystems, RAM and SWAP information and System Load)
  • Wallet Information (Syncstatus, Owning XCH, etc.)
  • Farm Information (Farminstatus and every corresponding information)
  • Harvester Information (Configured Plot directories and used space, Plots you are currently owning)
  • Many more features will be offered in future releases.

How does this project work? - From where does the webgui get the data?

This project consists of two main parts. The so-called node-client and the Web-GUI. The node-client gets his data by using the locally running socalled RPC Api, which requires the services locally available. No electron GUI needed! To be able to query current data from your infrastructure you need to install the python based node-client on every node in your infrastructure. This node-client will connect to the API which is offered through a bidirectional and encrypted web-socket connection.

Currently all node data will be queried from the web-socket server, but should be changed in one of the upcoming versions. In future the node client will automatically detect changes and informs the web-gui with new data. So every data you will see are real live data.

The Web-GUI should always show up-to-date and live queried data, if available. We are working hard to make a real live web based application.

WTF?! Why only Linux?

We developers are having only Linux desktops currently running and we decided to make the really first version of the node-client only for Linux. Otherwise we were not able to release the first version of this project just in time.

But it is in planning, promised!

The web-gui should run on a Linux server anyway as any other web based application.

Current (key)features

  • Almost read only management via web-gui

    • Only a certain service restart is possible at the moment
    • Dashboard
      • System and Security
      • Current Chia® Netspace and XCH Price (queried from an up-to-date external api)
      • Wallet(s) overall information like Node/Service stats, Sync status, etc.
      • Farm overview like Node/Service stats, Farming Status, Plot count, and total size
      • Harvester overview like Node/service stats and a list of not mounted directories
      • Your assets are converted into your preferred currency
    • Nodes Page
      • Manage your Chia® Nodes. Accept and deny node requests.
    • Infra Sysinfo
      • Get the latest available system information from you host systems. Filesystem spaces, RAM and SWAP and Load information.
    • Wallet
      • All available wallets and information in one view inclusive all past transactions
    • Farmer
      • Get all available information about your farm like Farmingstatus, XCH Block Rewards and so on.
    • Harvester
      • A brief overview of your configured plotting directories and used capacity. A list of all found plots.
    • And many many more!

    See full feature list here: Chia® Manager Documentation.

Upcoming features

  • Full management via webgui
    • Update and restart the host system
    • Update your Chia® version fully automatically
    • Detect and check your plots periodically
    • Manage MS Windows systems too
  • Complete monitoring
    • Get an email if a service or server is not running or recently died
    • Be able to detect immediately if you might lose money
    • Setup and manage different alerting levels to be fully informed just in moment something unexpected is happening
  • Full autoplotting with madmax plotter integration
    • Select an empty or not fully plotted directory and let Chia® Manager autoplot all your directories
  • And many more!

Check out our roadmap to get more information: Chia® Manager Documentation.

Do you have any further ideas of features you want to see? Just make a feature request or mail us!

We need your help!

Currently we are two contributors. Lucaaust, an occupational python programmer and OLED1, an occupational Linux Sysadmin and hobby programmer.

You can help us out with testing and if you want with code contribution. We want to offer a free, open source and stable Chia® Farm Management Software.

Installation and Usage

Installation

Please see our documentation at Chia® Manager Documentation

Node client Installation

Just follow the instructions in the Web-GUI under the point "Nodes". Select your desired system OS. (Only Linux is currently supported)

Disclaimer

CHIA NETWORK INC, CHIA™, the CHIA BLOCKCHAIN™, the CHIA PROTOCOL™, CHIALISP™ and the “leaf Logo” (including the leaf logo alone when it refers to or indicates Chia), are trademarks or registered trademarks of Chia Network, Inc., a Delaware corporation. There is no affiliation between this project and the main Chia Network project.

chia-manager's People

Contributors

oled1 avatar lucaaust avatar

Stargazers

Yan Hackl-Feldbusch avatar  avatar

Watchers

Markus Hochhold avatar Yan Hackl-Feldbusch avatar  avatar  avatar

chia-manager's Issues

Implement SMS notifications using SMS sending enabled API's

There should be notifications sent, when:

  • a service become critical (e.g. died, not reachable, etc.)
  • a service become ok again(e.g. reconnected, etc.)
  • the wallet has received some Mojo's or XCH
  • ...

This notification setting should be able to be enabled in the system settings where the API of the third party SMS provider can be stated and default rules (in which case should be alerted or informed) can be applied in the system settings page and be configurable per user base in the Personal Settings.

Make project users deletable

A user should be able to be deleted and not only be disabled.
A user should be delete-able after previous disabling.

Redesign json request strings

The json request strings should be changed from:
{'loginStatus': {'status': 0, 'message': 'This node is logged in.', 'data': {'id': '16', 'nodetype': 'Farmer, Harvester, Wallet', 'hostname': 'xch-clien-dev'}}}
To:
{'status': 0, 'method': 'loginStatus', 'message': 'This node is logged in.', 'data': {'id': '16', 'nodetype': 'Farmer, Harvester, Wallet', 'hostname': 'xch-clien-dev'}}

So the clients never have dynamical strings to check. They can always check static json keys.

Generate informations in a html template

On the following pages the code must be changed twice if the design needs to be changed (PHP on first request and Js on live data change):

  • Infra Sysinfo
  • Wallet
  • Farm
  • Harvester

Trigger blockchain updates out of the web GUI

Chia blockchain software updates should be trigger-able out of the web gui.
Furthermore a setting will be implemented where it is decidable if it should be updated automatically or not.
An additional button for manual upgrading out of the web gui will be implemented on the nodes page in the specific node settings window.

New design for farmer page

The farmer page should become completely reworked to offer a better overview for all known farmer information.

Detect if node is reachable on Node Sites

Currently on every site where the service status will be checked, it stays Querying Service Status if a node itself is not connected. In such case "Node not connected" should be shown.

Requires Logging fully implemented.

Setings Page Logout in Datatable

When a device will be logged out the line should be removed with DataTables remove function not $(...).remove().
Currently datatable does not recognice it has been deleted.

Implement gotify support

There should be notifications sent, when:

  • a service become critical (e.g. died, not reachable, etc.)
  • a service become ok again(e.g. reconnected, etc.)
  • the wallet has received some Mojo's or XCH
  • ...

A check needs to be implemented which detects if gotify is available on the server.
This notification setting should be able to be enabled in the system settings where default rules (in which case should be alerted or informed) can be applied in the system settings page and be configurable per user base in the Personal Settings.
A user setting needs to be integrated with gotify install and setup instructions (wizard).

Implement password reset (forgot password)

If the user forgot his password he should have the option to reset it.
If a user was newly created, a reset link should be generated and appendend in the invitation mail.

Detect and implement websocket reconnect on frontend

If the web-socket server reconnects a standard method called "onWebsocketReconnect" should be implemented on every page which will be called after a reconnect. This function should reload all data on the currently shown page in such case.

Furthermore, the websocket server button on the settings page should be live adapted.

New design for harvester page

The harvester page should become completely reworked to offer a better overview for all known harvester, plots, etc.

Implement Dark Mode

Implement dark mode and Chia specific Colors like green and so on.
The shloud be set to systems default.

Implement Matrix alerting support

There should be notifications sent, when:

a service become critical (e.g. died, not reachable, etc.)
a service become ok again(e.g. reconnected, etc.)
the wallet has received some Mojo's or XCH
...

This notification setting should be able to be enabled in the system settings where default rules (in which case should be alerted or informed) can be applied in the system settings page and be configurable per user base in the Personal Settings.
A user setting needs to be integrated with gotify install and setup instructions (wizard).

Websocket Server Issues

The websocket server seems to be buggy when running in background.
The live data transmission seems to be unfluently.

Implement E-Mail notifications

There should be notifications sent, when:

  • a service become critical (e.g. died, not reachable, etc.)
  • a service become ok again(e.g. reconnected, etc.)
  • the wallet has received some Mojo's or XCH
  • ...

This notification setting should be able to be enabled in the system settings where default rules (in which case should be alerted or informed) can be applied in the system settings page and be configurable per user base in the Personal Settings.

Every request should registered to subscritptions

Every request should be saved in the subscriptions variable.
The reason is, that it makes no sense, that newly not known connections are terminating in the requests variable.
A newly connected client can't send data to the api without permission anyway.

Full automatic/manuell node client updates

The Chia-Manager node client should be fully update able right out of the web GUI.
Furthermore there should be a setting included where you can decide if the node should be automatically updated or not.
The manual update will be trigger-able on the nodes page in the specific Chia-Manager node settings window.

Implement Logging Site

Implement a logging subpoint in main menu point system.
On this page the user should be able to see a table about the system log.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.