Directory / smart-contract-backend / Plutus_runtime_and_interaction_model.md

You are browsing a mirror of a file hosted on GitHub. View original

A Plutus runtime and interaction model

Plutus presents a new paradigm for Smart Contracts by moving some of the execution out of the ledger. This changes how we think about implementing Smart Contracts as they can now be considered an application service, taking user input, and generating transactions which contain the lifted Plutus core blocks. Read more about the extended UTXO model

What are the requirements to run a Plutus contract?

Loading

  1. The contract must be loaded from the file system.
  2. Dynamic bundle generation.
  3. It needs to be made available to the consumer to call it’s endpoints

Interaction

  1. Transactions generated must be sent to the client for signing and submission
  2. Any off-chain state persisted
  3. Any triggers defined by the contract must be setup and managed with assurance they will fire