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.
Go to the releases page and download the correct build for your operation system:
- Windows:
Swarm.Desktop-***.Setup.exe
- macOS:
Swarm.Desktop-darwin-x64-***.zip
- Linux:
swarm-desktop_***_amd64.deb
orswarm-desktop-***-1.x86_64.rpm
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.
TODO
There are some ways you can make this module better:
- Consult our open issues and take on one of them
- Help our tests reach 100% coverage!
- Join us in our Discord chat in the #develop-on-swarm channel if you have questions or want to give feedback
Swarm Desktop consists of two components:
- Electron back-end that provides orchestration API that retrieve, spins, stops and manage the Bee node
- 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:
- macOS:
~/Library/Logs/Swarm Desktop/
- Windows:
%LOCALAPPDATA%\Swarm Desktop\Log\
(for example,C:\Users\USERNAME\AppData\Local\Swarm Desktop\Log\
) - Linux:
~/.local/state/Swarm Desktop/
It also stores configuration files, Bee assets and other things in application's data folder:
- Windows:
%LOCALAPPDATA%\Swarm Desktop\Data
(for example,C:\Users\USERNAME\AppData\Local\Swarm Desktop\Data
) - Mac OS:
~/Library/Application Support/Swarm Desktop
- Linux:
~/.local/share/Swarm Desktop
(or$XDG_DATA_HOME/Swarm Desktop
)
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.
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.
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.
There are several handy scripts:
npm run purge:data
that purge's the Desktop's data foldernpm run purge:logs
that purge's the Desktop's logs folder
See what "Maintainer" means here.