Is there some lower level code that Plutus code compiles to (akin to Solidity => EVM bytecode, or BSV sCrypt => OP_codes)?
Related (but distinct) how the state changes: https://cardano.stackexchange.com/a/7253/4968
Cardano Stack Exchange is a question and answer site for users and developers of the Cardano cryptocurrency ecosystem. It only takes a minute to sign up.Sign up to join this community
Yes, there is a lower level code that is used onchain, it is called Untyped Plutus Core (UPLC)! When validators are written in template haskell, they get compiled via
1) GHC: Haskell -> GHC Core 2) Plutus Tx compiler: GHC Core -> Plutus IR 3) Plutus IR compiler: Plutus IR -> Typed Plutus Core 4) Type eraser: Typed Plutus Core -> Untyped Plutus Core
To learn more about UPLC have a look at this great blog.