Start a local Yano X showcase
Run three nodes, submit useful data, and inspect proofs without a source checkout, wallet, public-network funds, or external Cardano node.
- Goal: run the curated showcase locally and check that its members agree.
- Before you start: Java 25, Python 3,
curl, andjq. Python uses only its standard library. Docker is needed only for the separate evidence demo. The showcase uses HTTP ports7070–7072and node ports13337–13339. - Time: about 10 minutes, most of it startup.
- Outcome: three nodes running thirteen chains, a finalized order with a proof, and an instance you can stop and resume.
The showcase in six commands
Section titled “The showcase in six commands”What you're seeing: the quickstart from this page, with the command you run at each step. Switch to “Your terminal” to see only what the commands print.
- Check
doctorchecks for Java 25, Python 3 with BLAKE2b support,curl,jq, and the packaged artifacts:yano.jar, the showcase configuration, the load drivers, and the plugin bundles. It starts nothing.Printsdoctor: Java 25…, curl, jq, and packaged artifacts are present../showcase.sh doctor --profile light - Start
quickstartprepares the instance underdata/showcase/first-demoand starts three nodes on a private devnet. Every node hosts the same 13 showcase chains. It then bootstraps theworkflow-chaindevnet anchor, runs the composite workflow and authenticated-map demonstrations, and checks that the nodes converged.Ends with the per-chain check andStatus UI: http://127.0.0.1:7070/ui/app-chain/../showcase.sh quickstart --profile light --nodes 3 --instance first-demo - Submit an order The demo script submits an order to
orders-chainthrough node 0, waits until the message is final, and requests a typed proof that it is recorded.Prints the proof summary with"claimSatisfied": true, thenORDERED: message finalized at height N../demos/submit-orders.sh first-demo '{"order":"A-100","event":"created"}' - Verify For every showcase chain,
verifywaits until all nodes report the same tip and root and checks that the tip's certificate has at least the threshold of signatures. It also waits for theworkflow-chainanchor to be confirmed.Prints one line per chain, such asorders-chain nodes=3 tip=… cert=…../showcase.sh verify --instance first-demo - Stop
stopstops the nodes and keeps the instance: its identity, its chain data, and its chosen ports.Printsstopped 3 node(s)../showcase.sh stop --instance first-demo - Restart
restartstarts the same instance from its retained state. Runverifyagain, then retrieve the same order: the history is unchanged.PrintsCluster up.Retained tips and roots return unchanged../showcase.sh restart --instance first-demo
What if: The default ports are busy
The showcase passes its port bases to the launcher explicitly, so it stops rather than moving them.
- Check
doctorpasses. It does not check ports../showcase.sh doctor --profile light - Start Another program holds a port in 7070–7072. Because the port bases are explicit, the launcher refuses to start any node: “explicit HTTP range 7070-7072 is busy”.Prints
explicit HTTP range 7070-7072 is busy (port …)../showcase.sh quickstart --profile light --nodes 3 --instance first-demo - Choose other ports Stop the program that holds the ports and run the same command again. Or start a new instance with other bases; the instance remembers them for later commands.
./showcase.sh quickstart --profile light --nodes 3 \ --instance second-demo --http-base 7170 --server-base 14337
- your terminal
- showcase script
- member nodes
- devnet and anchor
1. Get the matching archive
Section titled “1. Get the matching archive”From the Yano X releases page, select
one release and download its yano-x-jvm-<version>.zip and published checksum.
Use the checksum from that same release. Without a release, use a qualified build
from your team or the distribution build instructions;
do not substitute an unrelated Yano ZIP.
Extract into a new directory and open a terminal in
yano-x-jvm-<version>/examples/showcase, the directory containing showcase.sh.
Keep this directory for later restarts.
./showcase.sh doctor --profile light✓ You should see a line starting with
doctor: Java 25and ending withand packaged artifacts are present.
./showcase.sh quickstart --profile light --nodes 3 --instance first-demoQuickstart starts a private devnet and thirteen application chains on three
nodes. It bootstraps the workflow-chain anchor on that devnet, runs a
composite workflow and an authenticated-map demonstration, checks convergence,
and prints the console address.
✓ You should see
Cluster up., one line per chain such asorders-chain nodes=3 tip=... cert=.../..., and finallyStatus UI: http://127.0.0.1:7070/ui/app-chain/.
The light profile demonstrates logs, registries, document trails, approvals,
authenticated maps, effects, and more. Optional external connectors have
separate prerequisites. The quickstart anchor is a devnet anchor for
workflow-chain; it does not mean every chain is anchored on a public network.
2. Insert data and inspect the result
Section titled “2. Insert data and inspect the result”./demos/submit-orders.sh first-demo '{"order":"A-100","event":"created"}'./demos/submit-documents.sh first-demo document-A-100./showcase.sh verify --instance first-demo./showcase.sh ui --instance first-demo✓ You should see a proof summary with
"claimSatisfied": true, thenORDERED: message finalized at height N.
The order command prints a finalized position and proof claim. The document
scenario appends to a trail. verify checks node readiness, converged tips and
roots, certificate counts for chains with finalized blocks, and the
workflow-chain anchor. Open the printed console URL to inspect messages,
chain state, and effects.
A successful HTTP submission is admission to the message pool. Finality and a successful application transition are later results. See the HTTP submission walkthrough for the actual requests, message lookup, and typed proof route.
3. Keep your state and resume
Section titled “3. Keep your state and resume”./showcase.sh config paths --instance first-demo./showcase.sh stop --instance first-demo./showcase.sh restart --instance first-demo./showcase.sh verify --instance first-demo✓ You should see
stopped 3 node(s)afterstop, andCluster up.afterrestart.
Retrieve the same order after the restart. Do not reset an instance to fix a
startup error: reset --yes deletes the instance and is not recoverable. Run
./showcase.sh logs --instance first-demo and inspect the first failure; keep
the generated identity and data directories together.
Troubleshooting
Section titled “Troubleshooting”| You see | What it means and what to do |
|---|---|
Java 25 is required (found ...) | Put a Java 25 JDK first on your PATH, then run doctor again. |
required command not found: jq | Install the named command and run doctor again. |
explicit HTTP range 7070-7072 is busy (port ...) | Another program holds the showcase ports. Stop it and run the same command again, or start a new instance with other ports, for example --instance second-demo --http-base 7170 --server-base 14337. |
run showcase.sh from examples/showcase in an extracted Yano X JVM distribution | Run the script from inside the extracted JVM ZIP, not from a source checkout. |
Next: continue with your own application profile, or explore the complete showcase.