Open SchmErik opened 2 years ago
I've attempted to spin up a ubuntu and install nix-shell. nix-shell is not intended to be installed by root so a better option would be to use a nixOs image instead...
This would be useful for Milestone 3, as it would be good to have an environment where it's easy to perform the end-to-end process of compiling PlutusTX to a uplc policy, and then running the KPlutus tools on that uplc policy.
@SchmErik said in the meeting today based on his experience that just having a nix-shell without a Docker image will probably be the best solution.
A question that came up is what is going to be the expected way to compile a PlutusTX contract into uplc? So far I've only seen it happen by running a cabal script of some sort that uses code from the Plutus repositories. Will there be any binary tools available on the command line that simplify the process (ie. plutustx-compile policy.hs
)? @ChristianoBraga do you know about anything like this?
We need the compiler tool chain so the nix.shell file should contain whatever tools are needed to do the compilation or the "cabal build" command. We need a way to enter nix.shell and execute the compilation commands. I think one thing you could do is to take an existing set up and compile native-tokens policy. For this, we used the nix-shell from the plutus-apps project and that command takes a really long time. We only really need the binaries that execute when cabal build is run. @goodlyrottenapple might be a good person to ask about a set up for this.
At this moment, we are having a "work on my machine but not your's" when generating uplc code from haskell code using cabal build. We need to solve this issue by providing a reproducible development environment that can be used to run cabal build and etc.