blob: 0a9015ccbec4c72bdecbcba37f4b32f5d1140bf8 [file] [log] [blame] [view]
# 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