constructuri and verifymessage skeleton
7 files changed
tree: 5efb5b2def5973886600d629502cf7b43f7c39d8
  1. .github/
  2. docs/
  3. resdb_driver/
  4. service/
  5. third_party/
  6. .bazelrc
  7. .gitignore
  8. CNAME
  9. INSTALL.sh
  10. license
  11. README.md
  12. requirements.txt
  13. test_driver.py
  14. test_update_metadata.py
  15. WORKSPACE
README.md

ResilientDB SDK

Check Python is up-to-date (3.9+)

$ python3 --version

If your Python version number is too low you may encounter type hinting issues when attempting to run the code. You can use a Python virtual environment, as shown below.

First-time set up

$ sh INSTALL.sh

$ python3.10 -m venv venv

$ source venv/bin/activate

$ pip install -r requirements.txt

The correct Python configuration is needed for transaction validation.

Running KV service

If your virtual environment is not already active:

$ source venv/bin/activate

Run the script to start 4 local nodes

$ sh service/tools/start_kv_service_sdk.sh

Running Crow service (HTTP endpoints)

$ bazel build service/http_server/crow_service_main

$ bazel-bin/service/http_server/crow_service_main service/tools/config/interface/service.config service/http_server/server_config.config

For a list of endpoints visit here

Testing

$ bazel-bin/service/kv_service/kv_service_tools service/tools/config/interface/service.config set test 1234

Running the driver

Examples of using the driver can be seen in test_driver

Replace the db_root_url with the address of the ResilientDB HTTP endpoints e.g. 127.0.0.1:18000

TODO

  • Setting up linting (using black) through github hooks
  • convert the sdk into a package (for pip install)
  • Potentially have a docker setup which fetched the Resdb image and runs it locally