For the curious -- Interacting with Plutus Platform ( onchain contract ) from the command line via web interface

This is a response to topic

Plutus Pioneer in the wild. Questions and observations

namely:

– Is there a way to interact with the simulated Cardano node via the command line? Is so where might one find resources.

Here is my environment ( not exhaustive )

jhl@jhl-stealth:~$ uname -a
Linux jhl-stealth 5.4.0-73-generic #82~18.04.1-Ubuntu SMP Fri Apr 16 15:10:02 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

jhl@jhl-stealth:~$ cabal --version
cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library

jhl@jhl-stealth:~$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.10.2

jhl@jhl-stealth:~$ git --version
git version 2.17.1

It took some spelunking but found, at least, in part what I am looking for:

Plutus Platform starter project

Note bene: This is in the slack-dev branch!

For those who find the whole docker thing intolerable (like me), there is a section on how to setup you local machine using Nix/Cabal.

Cabel+Nix build

If you have gone thru the trouble of setting up the plutus-core and plutus-playground then this is straightforward.

Note bene: you may have to install jq – Download jq

I am running thru the example guessing game and things thus far things are sane and stepping thru the example issuing curl commands ( oh the joy!!! ).

The Platform Application Backend (PAB) also exposes a websocket ( sweet!) and that is explained in:

Plutus Application Backend (PAB)

Coming from the “when all else fails read the docs” clan, I haven’t gotten there yet.

Where I am trying to go/find out about is event logging – having off-chain entities listen and respond to these events. This is encapsulated in the following forum post:

Plutus – event sourcing inquiry

1 Like

Sorry – the PAB executes off-chain code and provides services to wallet backend and nodes:

From: PAB Architecture

“The PAB executes the off-chain component of Plutus applications. It manages application requests to wallet backend and node, stores the application state and offers an HTTP API for managing application instances.”

So not quite what I was looking for … hmmm.

There is another forum post that poses similar questions:

What services go into the stack between a running Node (backend) and a User interface (frontend)?

Also, can’t edit topic title nor my previous post.