-
Clone Yatima's fork of the Substrate Node Template and checkout the
yatima-tutorial
branch -
Build and run the node with Rust Nightly 1.57.0
cargo build --release # Run a temporary node in development mode ./target/release/node-template --dev --tmp -lruntime=debug
Stop the node for now after making sure it works.
-
Clone Yatima's fork of the Substrate Front End Template in a separate directory and checkout the
yatima-tutorial
branch. -
Install the front end as detailed in the Readme
-
Run the node as done in Step 2, then run the front end with
yarn start
-
Clone the Yatima Standard Library and checkout the
sb/proof-demo
branch -
Interact with the
sp-yatima
commands
- In the browser, scroll to the Theorem Prover section at the bottom of the page and input a Yatima file such as
sp-bool.ya
orsp-vector.ya
, then hit Upload. - Go to the node's
stdout
and observe that the Yatima typechecker has deduced that each of the package's properties will always be true for the given type parameters. Please note the lack of package structure for thesp
files in order to avoid file I/O on-chain. - For an example of an invalid Yatima file, try uploading the
bool-parse-error.ya
orbool-type-error.ya
files from Introit. The node'sstdout
will show a similar error message to theyatima parse
oryatima check
CLI commands.