ethersphere / swarm-desktop

Electron Desktop app that helps you easily spin up and manage Swarm node
https://desktop.ethswarm.org/
BSD 3-Clause "New" or "Revised" License
26 stars 13 forks source link
electron ethereum swarm

Swarm Desktop

Tests standard-readme compliant js-standard-style

Electron Desktop app that helps you easily spin up and manage Swarm's Bee node

Warning: This project is in beta state. There might (and most probably will) be changes in the future to its API and working. Also, no guarantees can be made about its stability, efficiency, and security at this stage.

Stay up to date by joining the official Discord and by keeping an eye on the releases tab.

Table of Contents

Install

Go to the releases page and download the correct build for your operation system:

macOS

macOS may not allow you to run the .app after unzipping. To solve this, right click the .app and click Open. You will have an option to ignore the warning.

Usage

TODO

Contribute

There are some ways you can make this module better:

Architecture

Swarm Desktop consists of two components:

  1. Electron back-end that provides orchestration API that retrieve, spins, stops and manage the Bee node
  2. Bundled Bee Dashboard that provides UI to manage Bee node and provides access to Swarm network

The Electron back-end is placed in src folder.

The Bee Desktop stores logs of both itself and Bee in the application's logs folder:

It also stores configuration files, Bee assets and other things in application's data folder:

Development

As there are several independent components it bit depends on what you want to develop.

Be aware! The UI won't automatically open during development in order not to confuse on which environment they are running. You have to open them manually.

Electron Desktop

To work on the Electron Desktop back-end you just need to do your work and then run npm start. This will launch the Electron app and shows the Tray icon. No UI will be opened automatically. If you need to make more adjustment you have to exit the process with SIGINT (CTRL+C) and relaunch.

UI (Dashboard)

To work on the Dashboard, run first npm start that will spin up the Electron Desktop back-end. Then go to your locally cloned bee-dashboard repo and in it start the development server with npm start. Dashboard also needs to have API key injected in order to use the Desktop's API. You can inject it by running npm run desktop in the Dashboard repo that will open the Dashboard UI with API key in the URL. Changes are automatically hot-reloaded.

The UI served by the Desktop itself is updated only when you update the @ethersphere/bee-dashboard NPM package in the Desktop repo.

Maintenance tasks

There are several handy scripts:

Maintainers

See what "Maintainer" means here.

License

BSD-3-Clause