2024-07-16 07:07:21 +00:00
|
|
|
# laconic-faucet
|
|
|
|
|
|
|
|
Instructions for running the laconic faucet server
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
* Minimum hardware requirements:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
RAM: 8-16GB
|
|
|
|
Disk space: 200GB
|
|
|
|
CPU: 2 cores
|
|
|
|
```
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
|
|
|
* Clone the stack repo:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so fetch-stack git.vdb.to/cerc-io/laconic-testnet-faucet
|
|
|
|
```
|
|
|
|
|
|
|
|
* Clone the laconic-faucet:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-faucet setup-repositories
|
|
|
|
```
|
|
|
|
|
|
|
|
* Build the container image:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-faucet build-containers
|
|
|
|
```
|
|
|
|
|
|
|
|
This should create the `cerc/laconic-faucet` image locally
|
|
|
|
|
|
|
|
## Create a deployment
|
|
|
|
|
|
|
|
* Create a spec file for the deployment:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-faucet deploy init --output laconic-faucet-spec.yml
|
|
|
|
```
|
|
|
|
|
|
|
|
* Edit `network` in the spec file to map container ports to host ports as required:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
network:
|
|
|
|
ports:
|
|
|
|
laconic-faucet:
|
|
|
|
- '3000:3000'
|
|
|
|
```
|
|
|
|
|
|
|
|
* Create a deployment from the spec file:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-faucet deploy create --spec-file laconic-faucet-spec.yml --deployment-dir laconic-faucet-deployment
|
|
|
|
```
|
|
|
|
|
|
|
|
<!-- * Copy over the published testnet genesis file (`.json`) to data directory in deployment (`testnet-laconicd-deployment/data/laconicd-data/tmp`):
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# Example
|
|
|
|
mkdir -p testnet-laconicd-deployment/data/laconicd-data/tmp
|
|
|
|
cp genesis.json testnet-laconicd-deployment/data/laconicd-data/tmp/genesis.json
|
|
|
|
``` -->
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
* Inside the `laconic-faucet-deployment` deployment directory, open `config.env` file and set following env variables:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
CERC_FAUCET_KEY=
|
|
|
|
```
|
|
|
|
|
|
|
|
## Start the deployment
|
|
|
|
* To start the deployment:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
laconic-so deployment --dir laconic-faucet-deployment start
|
|
|
|
```
|
|
|
|
|
|
|
|
## Check status
|
|
|
|
|
|
|
|
* To list down and monitor the running container:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# With status
|
|
|
|
docker ps
|
|
|
|
|
|
|
|
# Check logs for a container
|
|
|
|
docker logs -f <CONTAINER_ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
* Request tokens from the testnet faucet for your account if required
|
|
|
|
|
|
|
|
```bash
|
|
|
|
curl -X POST http://localhost:3000/faucet \
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
-d '{"address": "<laconicd_address>"}'
|
|
|
|
```
|
|
|
|
|
|
|
|
## Clean up
|
|
|
|
|
|
|
|
* Stop the `laconic-faucet` service running in the background:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# Stop the docker containe
|
|
|
|
laconic-so deployment --dir laconic-faucet-deployment stop
|
|
|
|
```
|
|
|
|
|
|
|
|
* To stop the service and also delete data:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# Stop the docker containers
|
|
|
|
laconic-so deployment --dir laconic-faucet-deployment stop --delete-volumes
|
|
|
|
|
|
|
|
# Remove deployment directory (deployment will have to be recreated for a re-run)
|
|
|
|
rm -r laconic-faucet-deployment
|
|
|
|
```
|