1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-27 17:43:55 +03:00
juvix/app/Commands/Compile
Jan Mas Rovira 021f183d33
Run Nockma in an Anoma node (#3128)
# Changes
1. Adds a new command `juvix dev anoma node`. This command runs the
anoma node.
2. Adds a flag `--anoma-dir` to `juvix dev nockma run`. When given, it
must point to the anoma clone. Then, it will run the nockma code in the
anoma node and report the result (with no traces).

# Prerequisites
1. An anoma clone at some specific commit. 
   ```
   git clone git@github.com:anoma/anoma.git
   cd anoma
   git checkout 98e3660b91cd55f1d9424dcff9420425ae98f5f8
   
   # build anoma
   mix deps.get
   mix escript.install hex protobuf
   mix compile

   # build the client
   mix do --app anoma_client escript.build
   ```
2. The `mix` command (elixir).
3. The [`grpcurl`](https://github.com/fullstorydev/grpcurl) command. To
install a single binary in `~/.local/bin` you can run:
   ```
curl -sSL
"https://github.com/fullstorydev/grpcurl/releases/download/v1.9.1/grpcurl_1.9.1_linux_x86_64.tar.gz"
| tar -xz -C ~/.local/bin --no-wildcards grpcurl
   ```

# Testing
I've not included any test. It can be tested locally like this:
```
cd juvix/tests/Anoma/Compilation/positive
juvix compile anoma test001.juvix
echo 20 > args.debug.nockma
juvix dev nockma run --anoma-dir ~/projects/anoma test001.nockma --args args.debug.nockma
2024-10-29 17:32:59 +01:00
..
Anoma refactor --target into subcommands for dev tree compile and other improvements (#2713) 2024-04-16 17:32:44 +02:00
Cairo refactor --target into subcommands for dev tree compile and other improvements (#2713) 2024-04-16 17:32:44 +02:00
CommonOptions refactor --target into subcommands for dev tree compile and other improvements (#2713) 2024-04-16 17:32:44 +02:00
Native Rust runtime (#2782) 2024-05-22 12:26:51 +02:00
NativeWasiHelper Rust runtime (#2782) 2024-05-22 12:26:51 +02:00
RiscZeroRust Compile-time configuration (#3102) 2024-10-16 11:47:23 +02:00
Wasi Compile-time configuration (#3102) 2024-10-16 11:47:23 +02:00
Anoma.hs Run Nockma in an Anoma node (#3128) 2024-10-29 17:32:59 +01:00
Cairo.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
CommonOptions.hs Run Nockma in an Anoma node (#3128) 2024-10-29 17:32:59 +01:00
CStage.hs Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
Native.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
NativeWasiHelper.hs Logger (#2908) 2024-07-22 17:14:37 +02:00
Options.hs Remove VampIR compile command and tests (#3104) 2024-10-16 15:03:14 +02:00
RiscZeroRust.hs Compile-time configuration (#3102) 2024-10-16 11:47:23 +02:00
Wasi.hs Logger (#2908) 2024-07-22 17:14:37 +02:00