| # 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](./service/http_server/README.md) |
| |
| ## 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](/test_driver.py) |
| |
| 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](https://github.com/psf/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 |