Links

Covenants

In Mel's data model, every coin/UTXO is locked by a covenant, or a program that constrains what sort of transaction can spend it. Common covenants include:
  • Checking that a transaction is signed by a particular public key
  • Checking that a transaction is signed by some subset of keys (a multisig covenant)
  • Encoding arbitrary stateful logic using self-propagating covenants
On the blockchain level, covenants are written in the low-level MelVM language, but in practice covenants are programmed using the high-level Melodeon language. More info on specific programming patterns can be found in the Melodeon guide.
​