Plutus.V1.Ledger.ProtocolVersions

Table des matières

  1. 📜 Overview

  2. 🔧 Imports

  3. 🏷️ Protocol Version Constants

    • 🐚 shelleyPV

    • 🧪 allegraPV

    • 📦 maryPV

    • 🚀 alonzoPV

    • 🌊 vasilPV

  4. 💡 Example Usage

  5. 📚 Glossary


1 📜 Overview

Le module Plutus.V1.Ledger.ProtocolVersions définit des valeurs ProtocolVersion nommées correspondant aux grandes ères du ledger Cardano. Ces constantes facilitent la référence aux versions du protocole lors de l’introduction de nouvelles fonctionnalités ou de nouveaux builtins.

Basé sur le Wiki du Cardano Ledger d’IOHK.


2 🔧 Imports

import Plutus.ApiCommon (ProtocolVersion(..))

Permet d’importer le type ProtocolVersion (majeur/mineur) depuis Plutus.ApiCommon.


3 🏷️ Protocol Version Constants

Chaque constante est une valeur ProtocolVersion avec les champs pvMajor et pvMinor indiquant les versions majeures et mineures.

3.1 🐚 shelleyPV

shelleyPV :: ProtocolVersion
shelleyPV = ProtocolVersion 2 0
  • Ère : Shelley (introduite dans Cardano Shelley)

  • Champs : pvMajor = 2, pvMinor = 0


3.2 🧪 allegraPV

allegraPV :: ProtocolVersion
allegraPV = ProtocolVersion 3 0
  • Ère : Allegra

  • Champs : pvMajor = 3, pvMinor = 0


3.3 📦 maryPV

maryPV :: ProtocolVersion
maryPV = ProtocolVersion 4 0
  • Ère : Mary

  • Champs : pvMajor = 4, pvMinor = 0


3.4 🚀 alonzoPV

alonzoPV :: ProtocolVersion
alonzoPV = ProtocolVersion 5 0
  • Ère : Alonzo

  • Champs : pvMajor = 5, pvMinor = 0


3.5 🌊 vasilPV

vasilPV :: ProtocolVersion
vasilPV = ProtocolVersion 7 0
  • Ère : Vasil

  • Champs : pvMajor = 7, pvMinor = 0


4 💡 Example Usage

Utilisez ces constantes lors du décodage ou de la validation de scripts en fonction de la version du protocole de l’ère Cardano.

Exemple :

import Plutus.V1.Ledger.ProtocolVersions (alonzoPV)
import Plutus.V1.Ledger.ApiCommon (builtinsAvailableIn)

-- Vérifier quels builtins sont disponibles à l’ère Alonzo :
available = builtinsAvailableIn PlutusV2 alonzoPV

5 📚 Glossary

  • ProtocolVersion : enregistrement avec pvMajor :: Int et pvMinor :: Int décrivant la version logicielle et la version de hard fork du ledger.

  • Shelley / Allegra / Mary / Alonzo / Vasil : ères successives de Cardano, chacune introduisant de nouvelles fonctionnalités et fonctions builtin.

  • PlutusV2 : référence de la version du langage Plutus du ledger (utilisée lors de l’appel de builtinsAvailableIn).

  • builtinsAvailableIn : fonction de Plutus.ApiCommon permettant de récupérer les fonctions builtin autorisées pour une version donnée du ledger et du protocole.


Last updated