| .github/workflows | ||
| api | ||
| app | ||
| cmd | ||
| debian | ||
| docs | ||
| scripts | ||
| .gitignore | ||
| config.example.yml | ||
| go.mod | ||
| go.sum | ||
| install.sh | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Thalos
Thalos is a application that makes it easy for users to stream blockchain data from an Antelope SHIP node.
It handles all the technical stuff for you:
- Decoding of antelope's binary format.
- Websocket connection (with reconnection)
- Decoding of action data according to contract ABI
And then sends the data over redis in plain json (or other popular formats if you want!)
Compiling
You will need golang version 1.18 or later to compile the source.
Compile using make:
$ make
or using go directly if you dont have make installed.
$ go build -o build/thalos-server cmd/main/main.go
Install
There are several ways to install thalos, via package manager, downloading a pre-built binary or building directly from source.
Package Managers
Manually
Bundled binaries
You can get the latest archive package here
Simply download using your webbrowser or via curl:
curl -Ls https://github.com/eosswedenorg/thalos/releases/download/<version>/thalos-server-<version>-linux-amd64.tar.gz | tar -z --one-top-level=thalos -xvf -
NOTE: Using curl command above, the files are extracted into the thalos subdirectory of the current directory where the command is run.
From source
Follow the instructions from the Compiling section.
After building the binary you can install it along with basic config file and start/stop scripts using install.sh
./install.sh /path/to/your/directory/of/choice
Configure and run the server
The configuration file is located at config.yml in the installed directory and contains an example configuration with extensive documentation. Below are the essential fields that you need to modify. You can adjust the settings according to your preferences.
name: MyShipReader
api: "http://api.example.com:8888"
ship:
url: "ws://ship.example.com:8080"
Start the server using the start.sh script.
./start.sh
The logs can be found in logs directory (unless specified otherwise in the configuration).
Stopping the server again is as simple as running.
./stop.sh
Starting Manually
If desired, Thalos can also be started manually for quick configuration testing.
./bin/thalos-server
or if you want to specify another config file then the default
./bin/thalos-server --config /path/to/thalos.yml
Runtime dependencies
Make sure redis is installed as thalos uses it for both cache and message broker.
Author
Henrik Hautakoski - henrik@eossweden.org