Plutus tools SDK user guide

Plutus tools SDK

The Plutus Tools SDK is a collection of off-chain infrastructure resources built for external developers. The Plutus Tools SDK repository supports the underlying resources that developers need who are writing full applications using Plutus in Haskell, including off-chain code. The term “off-chain code” refers to the part of a contract application’s code which runs outside of the blockchain. Off-chain code responds to events happening on or off the blockchain, usually by producing transactions.

This user guide is intended for developers who are authoring distributed applications (“DApps”) by using smart contracts on the Cardano blockchain.

Note

If you are a developer who wants to contribute to the Plutus Tools SDK project, please refer to documentation residing in the Plutus Tools SDK repository.

Plutus tools SDK repository

The Plutus Tools SDK repository contains packages such as:

  • the Plutus Application Backend (PAB), an off-chain application for managing the state of Plutus contract instances;

  • the chain-index, a lightweight, customizable chain follower application and library for DApp developers who need to index and query the Cardano blockchain;

  • the Plutus Contract Package, a library for writing Plutus contracts and transforming them into executables that run on the application platform;

  • the Plutus Ledger Constraints Package, containing an API to build transactions by providing a list of constraints and for constructing and validating Plutus transactions;

  • the Trace Emulator, used for testing Plutus contracts on an emulated blockchain;

  • a variety of other Plutus packages.

Use cases

Please refer to these use cases to see examples of Plutus applications.

Plutus starter template repository (deprecated)

See the Plutus starter template repository for a simple starter project using the Plutus Tools SDK.

Public Plutus libraries documentation

See also the public Plutus libraries documentation to access Haddock-generated documentation of all the code, including Plutus Core.

Architectural decision records