Merge pull request #405 from input-output-hk/olgahryniuk-patch-29
Update 05-Plutus-tools.md
Update 05-Plutus-tools.md
There are different tools that developers can use to evaluate and deploy smart contracts on Cardano. Below we take a look at these tools, their main features and point to the exact sources to use them.
## Plutus Playground
The [Plutus Playground](https://playground.plutus.iohkdev.io/) provides an environment for writing and testing smart contracts before they are released on the Cardano blockchain. It is a lightweight, web-based environment for exploratory Plutus development. As well as providing a web-based simulator for writing and executing smart contracts, the Plutus Playground also allows developers to access popular smart contracts that have already been written. [Tutorials](https://plutus-apps.readthedocs.io/en/latest/marlowe/tutorials/index.html) are available within the Plutus Playground to help you get started.
The Plutus Playground can be accessed through a web browser and there is no need to install software. The interface is split into three sections:
- editor
- simulation
- transactions
The simulator shows how a contract will behave on the Cardano blockchain. An important aspect of this is that it can act as a training tool for people who do not have advanced developer skills because it demonstrates the working principles. Users can define and modify the wallets that interact with a contract, as well as the actions that affect the outcome. The results can then be evaluated to see what happens on the blockchain and how transactions occur. For more information, watch the [Plutus application compiling and testing tutorial](https://www.youtube.com/watch?v=DhRS-JvoCw8) or visit the [Plutus GitHub repository](https://github.com/input-output-hk/plutus).
## Plutus Application Backend
The Plutus Application Backend (PAB) provides the components and environment to help developers interact with smart contracts so that they can create and test DApps, before deploying them to a live production environment. Much like the [Plutus Playground](https://playground.plutus.iohkdev.io/), it is a sandbox environment where developers can try out DApp functionality in advance of any full deployment on Cardano.
The PAB is another powerful tool on Cardano that makes DApps simpler, more secure, and more cost-effective to develop. By providing information from canonical sources in a usable form, it relieves developers of many routine tasks.
We will share links in due course when these are available.
## Plutus fee estimator
The Plutus fee estimator has been developed by IOG performance experts as an in-house tool for price benchmarking and comparison. It uses information from real-world Plutus transactions to predict the fees that will be charged for a transaction. The estimator can be used to calculate fees for actual transactions (e.g., to determine the fees that will be charged if the network parameters change), and also to estimate fees for individual script transactions or complete DApps before or during development. It may be useful to determine the effect of script changes or optimizations on fees.
[The Plutus fee estimator](https://docs.cardano.org/cardano-testnet/tools/plutus-fee-estimator) has been developed by IOG performance experts as an in-house tool for price benchmarking and comparison. It uses information from real-world Plutus transactions to predict the fees that will be charged for a transaction. The estimator can be used to calculate fees for actual transactions (e.g., to determine the fees that will be charged if the network parameters change), and also to estimate fees for individual script transactions or complete DApps before or during development. It may be useful to determine the effect of script changes or optimizations on fees.
Fee calculation requires three pieces of information:
This made another flaky test run which was otherwise intractable to analyse (https://github.com/input-output-hk/hydra/actions/runs/6784142783/job/18439856584?pr=1156) to a simple case which highlight IgnoredInitTx was also the issue as fixed in the previous commit.
This made another flaky test run which was otherwise intractable to analyse (https://github.com/input-output-hk/hydra/actions/runs/6784142783/job/18439856584?pr=1156) to a simple case which highlight IgnoredInitTx was also the issue as fixed in the previous commit.
A flaky test run was discovering this and we seemingly had forgotten to add this schema when introducing the IgnoredInitTx constructor.
otherwise it fails due to NOT NULL contraint.
Fixes #348
Fixes #347
Fixes #412
Fixes #347
Fixes #348