# scripts

## Prerequisites

- NodeJS >= `v18.17.x`

## Instructions

- Change to scripts dir:

  ```bash
  cd scripts
  ```

- Install dependencies and build:

  ```bash
  yarn && yarn build
  ```

- Create required env configuration:

  ```bash
  # Update the values as required
  # By default, live laconicd testnet (laconicd.laconic.com) endpoint is configured
  cp .env.example .env
  ```

- Generate a list of onboarded participants and allocations with given list of validators:

  ```bash
  yarn participants-with-filtered-validators --validators-csv <validators-csv-file> --participant-alloc <participant-alloc-amount> --validator-alloc <validator-alloc-amount> --output <output-json-file> --output-allocs <output-allocs-json-file>

  # Example:
  # yarn participants-with-filtered-validators --validators-csv ./validators.csv --participant-alloc 200000000000 --validator-alloc 1000200000000000 --output stage1-participants-$(date +"%Y-%m-%dT%H%M%S").json --output-allocs stage1-allocs-$(date +"%Y-%m-%dT%H%M%S").json
  ```

- Map subscribers to onboarded participants:

  ```bash
  yarn map-subscribers-to-participants --subscribers-csv <subscribers-csv-file> --output <output-csv-file>

  # Example:
  # yarn map-subscribers-to-participants --subscribers-csv subscribers.csv --output result-$(date +"%Y-%m-%dT%H%M%S").csv
  ```
