From d82da22b69f872dabc7758d81ad85dc88e1f4f55 Mon Sep 17 00:00:00 2001 From: somthn0somthn <41335589+somthn0somthn@users.noreply.github.com> Date: Tue, 27 Aug 2024 17:15:23 +0900 Subject: [PATCH] Update catalyst_milestone_reports.md Adding clarifications to m3 report per reviewer request --- docs/catalyst_milestone_reports.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/catalyst_milestone_reports.md b/docs/catalyst_milestone_reports.md index 9ecf1a0..f9ada94 100644 --- a/docs/catalyst_milestone_reports.md +++ b/docs/catalyst_milestone_reports.md @@ -33,6 +33,20 @@ Winner -> "Void Out" [label="Buyout (stage Closed)"]; } ``` +## Clarifications on M3 Deliverables + +### Running an Emulated Environment by CLB + +The CLB monad is designed to interact seamlessly with a Cardano mockchain environment. It can read from a shared environment, query blockchain parameters such as the current slot, and retrieve UTXO information, among other functions. This module facilitates simulation and testing, making it essential for unit tests and other testing scenarios where a controlled blockchain environment is needed. Using this emulated environment, developers can test and validate their Cardano applications in a reliable and repeatable manner. + +### Running QuickCheck Dynamic Tests, Including Mutation Support + +QuickCheck is a powerful Haskell library for property-based testing, which helps ensure that programs behave correctly for a wide range of inputs. The quickcheck-dynamic library extends this tool to stateful systems, making it particularly suitable for testing blockchain applications. Our testing framework uses a state machine model to simulate real-world scenarios, incorporating support for mutation testing. This approach helps verify that the system maintains correct behavior under various conditions, including edge cases and unexpected changes, thereby enhancing the robustness of the application. + +### Rendering CEMScript State Graphs + +Understanding state transitions and the overall system flow is critical for ensuring blockchain applications do not enter invalid states. To aid developers, we have implemented automated rendering of state graphs through our documentation module. This module generates DOT graph representations of CEMScript state transitions, providing an easy-to-understand visual model of how a DApp functions in real-world scenarios. This visualization tool increases developer confidence by highlighting the system's behavior and identifying potential shortcomings. + # Milestone 4 ## Summary