stack-orchestrator/stack_orchestrator/data/stacks/fixturenet-laconic-loaded
Thomas E Lackey d2442bcc9b revert 5308ab1e4e (#788)
revert Blind commit to fix laconic CLI calls after rename. (#784)

`laconic cns` got renamed to `laconic registry` which breaks all the scripts and commands that use it.

Reviewed-on: cerc-io/stack-orchestrator#784
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>

Reviewed-on: cerc-io/stack-orchestrator#788
2024-03-27 20:55:03 +00:00
..
README.md revert 5308ab1e4e (#788) 2024-03-27 20:55:03 +00:00
stack.yml Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00

Laconic Fixturenet (experimental)

Testing a "Loaded" fixturenet with console.

Instructions for deploying a local Laconic blockchain "fixturenet" for development and testing purposes using laconic-stack-orchestrator.

Note: For building some NPMs, access to the @lirewine repositories is required. If you don't have access, see this tutorial to run this stack

1. Install Laconic Stack Orchestrator

Installation is covered in detail here but if you're on Linux and already have docker installed it should be as simple as:

$ mkdir my-working-dir
$ cd my-working-dir
$ curl -L -o ./laconic-so https://git.vdb.to/cerc-io/stack-orchestrator/releases/download/latest/laconic-so
$ chmod +x ./laconic-so
$ export PATH=$PATH:$(pwd)  # Or move laconic-so to ~/bin or your favorite on-path directory

2. Prepare the local build environment

Note that this step needs only to be done once on a new machine. Detailed instructions can be found here. For the impatient run these commands:

$ laconic-so --stack build-support build-containers --exclude cerc/builder-gerbil
$ laconic-so --stack package-registry setup-repositories
$ laconic-so --stack package-registry build-containers
$ laconic-so --stack package-registry deploy-system up

Then add the localhost alias gitea.local and set CERC_NPM_AUTH_TOKEN to the token printed when the package-registry stack was deployed above:

$ sudo vi /etc/hosts
$ export CERC_NPM_AUTH_TOKEN=<my-token>

3. Clone required repositories

$ laconic-so --stack fixturenet-laconic-loaded setup-repositories

4. Build the stack's packages and containers

$ laconic-so --stack fixturenet-laconic-loaded build-npms
$ laconic-so --stack fixturenet-laconic-loaded build-containers

5. Deploy the stack

$ laconic-so --stack fixturenet-laconic-loaded deploy up

Correct operation should be verified by checking the laconicd container's logs with:

$ laconic-so --stack fixturenet-laconic-loaded deploy logs

6. Test with the Registry CLI

$ laconic-so --stack fixturenet-laconic-loaded deploy exec cli "laconic cns status"

7. View the laconic console

Get the URL for the console web app with this command (the port number will be different for each deployment):

$ echo http://localhost:$(laconic-so --stack fixturenet-laconic-loaded deploy port laconic-console 80 | cut -d ':' -f 2)
http://localhost:58364

Open that address with a browser. The console should display

8. Load demo data into the registry

$ laconic-so --stack fixturenet-laconic-loaded deploy exec cli ./scripts/create-demo-records.sh
Balance is: 99998999999999998999600000
Created bond with id: dd88e8d6f9567b32b28e70552aea4419c5dd3307ebae85a284d1fe38904e301a
Published demo-record-1.yml with id: bafyreierh3xnfivexlscdwubvczmddsnf46uytyfvrbdhkjzztvsz6ruly

The published record should be visible in the console.