Skip to content

Python library to access turbo-geth/silkworm data remotely

License

Notifications You must be signed in to change notification settings

erigontech/silksnake

Repository files navigation

Silksnake

Python library to access Turbo-Geth/Silkworm data remotely using their Key-Value (KV) protocol over gRPC.

CircleCI Codecov master version License semver


Platform Requirements

Python Interpreter

Silksnake requires Python 3.x. Install it from here and check the installation using

$ python --version
Python 3.6.9

Hereafter python command refers to the Python 3.x interpreter.

Python Package Installer (pip)

After Python installation, it is recommended Upgrading pip

Structure

The project is organized in the following folders:

  • docs contains the programming guide of Silksnake and the user guide of Silksnake tools
  • silksnake contains the Silksnake source code
  • tests contains the unit and integration tests
  • tools contains the Silksnake command-line tools for retrieving data using KV gRPC protocol

Setup

Please perform the following commands from Silksnake root folder.

Dependencies

Install dependencies using

$ pip install -r requirements.txt

or

$ python setup.py

Test

Run unit tests using

$ pytest tests/unit

Coverage

Run test coverage using

$ coverage run -m pytest
$ coverage report

Linter

Run pylint using

$ pylint silksnake tests tools

Binding Generation (not required)

Run binding generation for KV gRPC protocol using

$ python -m grpc_tools.protoc --proto_path=. --python_out=. --grpc_python_out=. silksnake/remote/proto/kv.proto

About

Python library to access turbo-geth/silkworm data remotely

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages