Zum Hauptinhalt springen

Plutus

Cardano's smart contract platform. The name covers the Plutus Core language that runs on-chain and the tooling that compiles higher-level languages down to it.

Plutus is the umbrella name for smart contracts on Cardano. At its core is Plutus Core, a small functional language whose untyped form (UPLC) is what nodes execute when they validate a transaction. When people say a DApp "runs on Plutus" they mean its validators are Plutus Core scripts. The runtime has grown through versions, Plutus V1 (Alonzo), V2 (Vasil) and V3 (Chang), and new builtins can also be added within a version, as the van Rossem hard fork did for V3.

Nobody writes Plutus Core by hand. Plinth, formerly called Plutus Tx, is the Haskell-based toolchain maintained by Input Output that compiles a subset of Haskell to Plutus Core. Aiken is the most widely used alternative, a purpose-built language with its own compiler that targets the same runtime. Other languages exist, but every one of them produces Plutus Core, so contracts written in different languages interoperate on-chain.

Execution is metered: each script pays for CPU steps and memory according to the Plutus cost models, which is why the cost model is updated whenever a hard fork adds new builtins.

Sources

Explore next