Seer is a monitoring tool designed to capture autonity on-chain events, It decodes and stores them in InfluxDB, Events are visualized later on Grafana.
- Go (version 1.21 or higher)
- RPC url to an Autonity node
-
Clone the repository:
git clone https://github.com/autonity/seer.git cd seer
-
setup a new influxdb token in .env file and prepare configuration:
make init
-
Run application in default mode:
make run
- Reset influx DB token, this overwrites the existing influxdb token, (take backup if required)
make reset-token
- Reset volumes to removes influxdb data
make reset
- Run application in default mode:
make run
Go over to localhost:3000
to visualize the data captured by Seer.
Seer uses Viper for configuration management. You can specify options via:
- A
config.yaml
file. - Environment variables.
- Command-line flags.
seer:
logLevel: "info"
node:
rpc:
maxConnections: 25 # maximum rpc connections across all urls
urls:
- <RPC_URL> # e.g. "http://localhost.8545" - should be an archive node for historical sync
ws:
maxConnections: 5 # maximum websocket connections across all urls
urls:
- <WS_URL> # e.g. "ws://localhost:8546" - should be an archive node for historical sync
sync:
history: true
db:
url: "http://127.0.0.1:8086"
token: ""
bucket: "mainnet"
org: "autonity"
abi:
dir: "../abis"
-
Start service in default mode which syncs live and historical blocks:
./seer start --config ../config/config.yaml
-
Start service in pull mode where only given range of blocks are synced:
./seer pull --start-block=1000 --end-block=20000 --config ../config/config.yaml
-
Check Version:
./seer version
Run tests for all modules:
make test
Format and lint the codebase:
make fmt
make lint
Contributions are welcome! Please submit a pull request or open an issue if you find a bug or have a feature request.
This project is licensed under the MIT License. See the LICENSE
file for details.