From f040425213b85ec27d9d7ee1df9431c51211bb65 Mon Sep 17 00:00:00 2001 From: Virgil Date: Wed, 20 Nov 2024 15:44:47 +0200 Subject: [PATCH] Update the documentation --- README.md | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 979f945..6eb9c9f 100644 --- a/README.md +++ b/README.md @@ -13,26 +13,16 @@ traits. Setup for ULM ------------- -The commands below will not work without the encode/decode ULM hooks, -which are not included by the build commands below. +You must have `ulm` checked out in a sibling directory (i.e. `../ulm`). -"Compiling" the erc-20 contract to bytes: - -```sh -make .build/ulm-preprocessing-kompiled/timestamp -compilation/prepare-erc20.sh +Build the semantics: +``` +make build-ulm -j3 ``` -The above will produce a cell containing the full preprocessed contract. - -Running the contract requires a different semantics (there main difference from -the above is the setup of the `` cell; there are other small differences, but -they matter less): - -```sh -make .build/ulm-execution-kompiled/timestamp +Preprocess and convert a contract to bytes: +``` +compilation/prepare-contract.sh \ + tests/ulm-contracts/erc_20_token.rs \ + .build/compilation/erc_20_token.preprocessed.kore ``` -When running the above (say, with `krun`), and calling the constructor -(`$CREATE` is `true`), it expects `CallData()` to contain the initial quantity -to mint and assign to the caller (`u256`). At the end, it will leave the -contract's bytes in the `` cell in a similar way to the `SIMPLE-ulm` example.