Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 965 Bytes

ARCHITECTURE.adoc

File metadata and controls

15 lines (11 loc) · 965 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.