Skip to content

Commit 8f822a7

Browse files
authored
Merge pull request #145 from ImperatorLang/feat/language_intro
Generalize the "plutus" section and introduce alternative languages
2 parents efae407 + f639edc commit 8f822a7

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

docs/source/guides/plutus.rst

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
======
2-
Plutus
3-
======
4-
5-
Plutus is the native language to write smart contract on Cardano's extended UTxO model (EUTxO). It allows us to incorporate expressive logics to determine when a particular UTxO can be spent.
6-
To learn more about EUTxO and its advantages, you can refer to the `Cardano docs <https://docs.cardano.org/plutus/eutxo-explainer>`_ or the `class notes <https://plutus-pioneer-program.readthedocs.io/en/latest/pioneer/week1.html>`_ from Plutus pioneer program (PPP).
7-
To learn how Plutus enables logic creation, we need to understand a couple key concepts:
1+
===============
2+
Smart Contracts
3+
===============
4+
5+
Smart Contracts on Cardano allow us to incorporate expressive logics to determine when a particular UTxO can be spent.
6+
The official language to write Contracts is Plutus, which is why we will often refer to "Plutus Scripts" and "Plutus binarys".
7+
However, many `many different languages <https://aiken-lang.org/ecosystem-overview#the-alternatives>` are emerging
8+
that aim to make the development of contracts more accesible.
9+
In this tutorial, we will focus on `eopsin <https://github.com/ImperatorLang/eopsin>`,
10+
a Smart Contract language based on python.
11+
In order to understand how Smart Contracts work on Cardanos eUTxO model we need to understand a couple of concepts.
812

913
* **Plutus script**: the smart contract that acts as the validator of the transaction. By evaluating the inputs from someone who wants to spend the UTxO, they either approve or deny it (by returning either True or False). The script is compiled into Plutus Core binary and sits on-chain.
1014
* **Script address**: the hash of the Plutus script binary. They hold UTxOs like typical public key address, but every time a transaction tries to consume the UTxOs on this address, the Plutus script generated this address will be executed by evaluating the input of the transaction, namely datum, redeemer and script context. The transaction is only valid if the script returns True.

0 commit comments

Comments
 (0)