Closed KtorZ closed 1 month ago
Off-chain code generation
Is this for generating types and serialization? Very excited for that. Would appreciate Rust type :)
Also, extism seems like a wasm thing. Curious how that's related to generated types.
@MitchTurner thats exactly what it is about, generating boilerplate smart constructors and serialisation code for datum and redeemers.
Extism here is used as a decoupling mechanism. We don't want to be writing all the code generation for all languages ourselves. So we need a way for the Aiken cli to delegate part of the generation to "plugins". So that in Aiken, we handle the parsing and processing of the blueprint and we hook onto plugins for generating the actual code. Now we thought about it and people are most likely going to want to use their own favorite languages for the job, and it will be complicated to package plugins if we simply rely on binaries. Thus the need for a portable target which is widely support across languages -> wasm.
Rust is something we'd like to have eventually and it would be a nice trial if you want to give it a try and build the Rust plug-in!
Nice. Yeah I'd be open to help out on the Rust plugin. That's the biggest pain point with Naumachia rn, manually writing the PlutusData conversions for Rust types. It'll be great to have the types handed to you from your Aiken code 🤝
This issue summarizes the work remaining work we foresee for the β-release of Aiken. Items are settled and some may be added as needed. But it gives a general overview.
Off-chain code generationJavaScriptPythonHook extism plugins into a framework for code-gen (parsing & processing blueprints).Language Server Protocol
and
andor
sectionsCore Improvements
681
682
677
763
676
730
Data
(because for example, it is put in a List or a Tuple). Then ensure that:String
,G1Element
andG2Element
. These can be stored inData
by casting them to a ByteArray using the VM's builtins, and cast back into their respective types when pulled out. This comes at an extra cost, hence the warning. In general, one would want to avoid that.Plutus V3
Property-based testing framework
835
and
andor
keywordsCommand-line
843
uplc
command groupjq
. This is particularly useful for tests outputs.Aikup
492
QA
last-pieceprimetestqueensIssues to be drafted