A very basic implementation of the SyncLink Client.
Client | Support |
---|---|
Teku | ✅ |
Nimbus | ❎ |
Lodestar | ❎ |
Lighthouse | ❎ |
Prysm | ❎ |
Please refer to the official Python docs to install Python >= 3.10 on your OS.
Start a virtual environment and install or update required Python packages:
python -m venv .venv
".venv/scripts/activate.bat"
pip install -r requirements.txt
On Debian or Ubuntu you first need to install venv:
apt install pythonX.Y-venv
Replace
X.Y
with the python MAJOR and MINOR version retrieved bypython -V
Then start a virtual environment and install or update required Python packages:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- Copy
config.yaml.example
toconfig.yaml
- Define settings in
config.yaml
as desired
Name | Description | Default | Required |
---|---|---|---|
addr | The IP address or domain for the SyncLink Client | 0.0.0.0 | No |
port | The port for the SyncLink Client | 9000 | No |
nodes | List of URLs to your SyncLink Server Nodes | [http://localhost:8000] | Yes |
Optional you can also specify the path to your config file or add/overwrite this arguments on the command line.
Run python main.py -h
for details.
Activate the virtual environment and run the app.
On Windows:
".venv/scripts/activate.bat"
python main.py
On Linux / MacOS:
source .venv/bin/activate
python main.py
After the app is started you can visit the API docs (depending on your settings in config.yaml
) by default at http://127.0.0.1:9000/docs.
To check if the SyncLink Client works proper you may do the following CURL request:
curl -X GET http://127.0.0.1:9000/eth/v2/debug/beacon/states/finalized > ~/synclinktestdata.json
This should download a checkpoint file to ~/synclinktestdata.json
with a size of about 50-100MB.
Depending on your settings in
config.yaml
you may need to adjust the ip address and port as needed (127.0.0.1:9000 is the default).
If you're done you can stop the Python process and deactivate the virtual environment by typing the following in your active terminal:
CTRL+C
deactivate