1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos synced 2026-06-16 04:24:56 +02:00
No description
Find a file
2023-06-27 17:21:10 +02:00
.github/workflows .github/workflows/release.yml: also create a tar file with the binary and config files. 2023-06-19 21:27:06 +02:00
api api/client_test.go: test segfaults sometimes because of nil pointers. so setup mock structs and functions. 2023-06-05 17:53:03 +02:00
app app/abi/manager.go: Some documentation 2023-06-27 17:21:10 +02:00
cmd cmd/thalos/main.go: exit the program correctly if we get shipclient.ErrEndBlockReached 2023-06-26 16:24:00 +02:00
debian Version 0.1.2 2023-06-15 16:34:39 +02:00
docs docs/messages.md: Update ActionTrace 2023-06-23 16:31:10 +02:00
scripts scripts/stop.sh: typo fix. 2023-05-14 17:27:50 +02:00
.gitignore .gitignore: ignore vscode directory 2023-05-29 17:34:52 +02:00
config.example.yml config.example.yml: fix api and ship default ports. 2023-06-20 12:15:02 +02:00
go.mod go.mod: update github.com/eosswedenorg-go/antelope-ship-client to commit a4e1c4b91f25 2023-06-26 16:23:20 +02:00
go.sum go.mod: update github.com/eosswedenorg-go/antelope-ship-client to commit a4e1c4b91f25 2023-06-26 16:23:20 +02:00
install.sh install.sh: Use Makefile to install stuff. 2023-05-14 18:09:39 +02:00
LICENSE Adding LICENSE file. 2023-01-05 17:09:55 +01:00
Makefile Makefile: move link flags to GOLDFLAGS variable. 2023-06-16 14:28:25 +02:00
README.md README.md: Improve the install section. 2023-06-21 11:38:40 +02:00

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