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.
- Place plugins in the
plugins
folder. - Run
node generate.js
(NodeJS needs to be installed) - Run
elm install
for each package named in the plugin'sdependencies.txt
. - Configure the plugin in
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:
- rename
./Stub
,./Stub.elm
andstub.js
to your plugin's name. Keep the respective capitalization. - replace
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:
- Docker, see e.g. https://docs.docker.com/engine/install/
- Docker Compose: https://docs.docker.com/compose/install/
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.