GraphSense's Web GUI for interactive cryptocurrency analysis written in Elm.
Run cp config/Config.elm.tmp config/Config.elm
and optionally configure plugins and your custom theme here.
plugins
folder.node generate.js
(NodeJS needs to be installed)elm install
for each package named in the plugin's dependencies.txt
.config/Config.elm
, eg:
plugins : Plugin.Plugins
plugins =
Plugin.empty
|> Plugin.myplugin (Myplugin.plugin {- plugin specific arguments here -})
You need to have NodeJS installed. It comes with NPM, the package manager for JavaScript.
In order to install all dependencies, run the following from the root of this repository:
npm install
Then start the vite development server:
npm run dev
Point your browser to localhost:3000
.
Use plugin_stub
as a starting point: cp -r plugin_stub plugins/myplugin
The name of the plugin is case insensitive. Elm package name of the plugin is the plugin name with the first letter capitalized, eg. Myplugin
.
Adapt the stub accordingly:
./Stub
, ./Stub.elm
and stub.js
to your plugin's name. Keep the respective capitalization. Stub
in the stub Elm files with your plugin's Elm package.Place plugin specific dependencies in plugin's ./dependencies.txt
.
Plugins can hook into the dashboard functionality in order to extend it.
Plugin's hook implementations need to be set in your plugin's root module which was derived from ./Stub.elm
.
Please see the comments in the respective files of ./src/PluginInterface
for detailed documentation.
Install Docker and Docker Compose:
Copy docker/env.template
to .env
:
cp docker/env.template .env
Edit the file .env
and set the URL of the graphsense-REST
service, e.g.:
REST_URL="https://example.com:9000"
Build the Docker image:
docker-compose build
Start a container (in detached mode):
docker-compose up -d
Finally, test the application in a web browser:
http://localhost:8000
You can map tag concepts to colors in ./config/conceptsColors.yaml
.
The file itself contains hints on the format.
This file is deployed as is. You can easily replace it at runtime in the deployed directory.