Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 1019 Bytes

ARCHITECTURE.adoc

File metadata and controls

16 lines (12 loc) · 1019 Bytes

plutus-contract

This package has a new API for defining "contracts": bundled applications that interact with a wallet smart contract backend. This is in many ways the "successor" to much of plutus-wallet-api, and should eventually replace much of it.

Noteworthy modules:

  • Contract: Exports the Contract type which encodes the client (off-chain) part of Plutus contracts, including blockchain queries, user-facing endpoints, and the ability to submit transactions to the ledger

  • Contract.StateMachine: State machine client library, building on the Contract type and on the (mostly) on-chain code in PlutusTx.StateMachine

  • Contract.Trace: The ContractTrace type for describing sequences of emulator actions that can be used in the Playgound and in unit tests.

  • Contract.App: Exposes a wrapper to turn Contract values into standalone executables, to be consumed by the SCB

It also defines the chain emulator, which is used for tests, and to back the simulations in the Plutus Playground.