Add demo instructions to publish and query records using CLI

This commit is contained in:
Prathamesh Musale 2024-06-21 11:06:02 +05:30
parent 85395b44b1
commit 2d927050bc
2 changed files with 110 additions and 1 deletions

View File

@ -82,6 +82,26 @@ Instructions for running a laconicd fixturenet along with registry CLI and conso
cp fixturenet-laconicd-deployment/deployment.yml laconic-console-deployment/deployment.yml
```
## Configuration
* Inside the `laconic-console-deployment` deployment directory, open `config.env` file and set following env variables:
```bash
# Optional CLI configuration
# laconicd user private key for txs
CERC_LACONICD_USER_KEY=
# laconicd bond id for txs
CERC_LACONICD_BOND_ID=
# Gas limit for txs (default: 200000)
CERC_LACONICD_GAS=
# Max fees for txs (default: 200000photon)
CERC_LACONICD_FEES=
```
## Start the deployment
```bash

View File

@ -1,4 +1,93 @@
# records-demo
<!-- TODO -->
## Setup
* Set account key and bond id in the CLI config:
```bash
# Get the PK from your node
ALICE_PK=$(echo y | laconic-so deployment --dir fixturenet-laconicd-deployment exec laconicd "laconicd keys export alice --unarmored-hex --unsafe")
# Create a bond:
BOND_ID=$(laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry bond create --type photon --quantity 100000000000 --user-key $ALICE_PK" | jq -r '.bondId')
# Update CLI config
laconic-so deployment --dir laconic-console-deployment exec cli "CERC_LACONICD_USER_KEY=${ALICE_PK} CERC_LACONICD_BOND_ID=${BOND_ID} CERC_LACONICD_GAS=900000 /app/create-config.sh"
# Note: Update the values in 'laconic-console-deployment/config.env' accordingly before restarting
```
## Run
* Copy over all records from a dir to the data dir in `laconic-console-deployment` (`laconic-console-deployment/data/laconic-registry-data`):
```bash
# Example
cp -r /home/user/laconic-testnet-data/records/* laconic-console-deployment/data/laconic-registry-data/
```
* Publish all records from the `laconic-registry-data` directory:
```bash
laconic-so deployment --dir laconic-console-deployment exec cli "yarn ts-node demo/scripts/publish-records.ts --config config.yml --records /laconic-registry-data"
```
## Query
* All the published records can be viewed on the console at <http://localhost:8080>
* Query for `geth` service deployment(s):
* Find the `ServiceRecord` for `geth`:
```bash
SERVICE_RECORD_ID=$(laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type ServiceRecord --name geth | jq -r '.[].id'")
```
* Find corresponding deployment(s):
```bash
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type ServiceDeploymentRecord service $SERVICE_RECORD_ID"
# Get the deployment URL(s)
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type ServiceDeploymentRecord service $SERVICE_RECORD_ID | jq -r '.[].attributes.url'"
# Expected output:
# https://geth-rpc-endpoint-1.example.com
# https://geth-rpc-endpoint-2.example.com
```
* Query for `ajna-watcher` deployment(s):
* Find the `WatcherRecord` for `ajna-watcher`:
```bash
WATCHER_RECORD_ID=$(laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type WatcherRecord --name ajna-watcher | jq -r '.[].id'")
```
* Find corresponding deployment(s):
```bash
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type WatcherDeploymentRecord watcher $WATCHER_RECORD_ID"
# Get the deployment URL(s)
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type WatcherDeploymentRecord watcher $WATCHER_RECORD_ID | jq -r '.[].attributes.url'"
# Expected output:
https://ajna-watcher-endpoint.example.com
```
* Find the `RepositoryRecord` for `ajna-watcher-ts` repo:
```bash
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type RepositoryRecord --name ajna-watcher-ts"
# Get the repo URL
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type RepositoryRecord --name ajna-watcher-ts | jq -r '.[].attributes.url'"
```
* Find the `StackRecord` for `ajna` stack:
```bash
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry record list --all --type StackRecord --name ajna"
```