You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next, CTL adds a number of other features according to their needs/business model
Release the new CTL
Why is it difficult
Adding new such npm dependency are difficult for:
introduce the npm package to our project with the following side-effect
npm -> package.json, need to do npm install
spago -> spago.spago.dhall, need to spago2nix generate
nix related modules, need to nix flake lock
new rust code needs new npm packages
npm package needs to be in concert with the rust code
none of these are under our control
there is no cohesive versioning scheme among these parts, we rely on mLab to communicate with us what version of nmp package correlates a given rust serialize that we think we need. Thus far, this process has been based on trial and error to find out what version of the serializer to use
- we have no way of getting a head of the problem, we became aware of the issue, only when things break or don't work as a result of an upgrade, update on our components
additionally, we have to chase mLab to release the new npm package
An obvious solution
We can wrap our own npm around the rust cardano-serialization-lib which begs the question:
what is the value gained by relying on mLab's CTL?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Table of Contents
Overview
overview-diagram.txt
Components
Haskell multi-project, where the smart-contracts are authored
Purescript project, the front-facing application
onchain
Very similar to any other Plutus onchain Haskell projects
offchain
The forward facing component providing required functionalities:
Smart Contract deployment
Architectural choices made in this section are the source of much of our difficulties
Source of difficulty
Main source of difficulty is applying runtime parameters/inputs to contracts for:
Why is it difficult
Adding new such npm dependency are difficult for:
npm install
spago2nix generate
nix flake lock
trial and error
to find out what version of the serializer to use- we have no way of getting a head of the problem, we became aware of the issue, only when things break or don't work as a result of an upgrade, update on our components
An obvious solution
We can wrap our own npm around the rust cardano-serialization-lib which begs the question:
The obvious problems
chase mLab:
Proposal
Liberate us from CTL through:
Offchain, Alternative approach
Choice of development platform effects the speed of development drastically.
Cons and Pros of offchain rework
Beta Was this translation helpful? Give feedback.
All reactions