Cardax blog




Tech Update Week 41: Testing Pure Model with Properties


This week, we implemented a pure model for the essential part of the chosen approach. A pure model lets us focus on describing the approach already in code, but in a clean way. So without the need to already consider restrictions demanded by, e.g. the blockchain. This is a crucial step since it lets us test if the design itself contains any failures.
The implementation of the pure model was followed by defining properties of the model in order to verify that the model holds these properties (so, applying property-based testing).

Why we have chosen this approach and why property-based testing is so important and powerful is best shown by John Hughes in this video: John Hughes is one of the developers of QuickCheck, a property-based testing tool, and who also worked together with IOHK for developing a framework for testing Plutus smart contracts.

Since more parts of the design get concrete, we were also exploring some critical limitations introduced by the Cardano blockchain. This will be an ongoing task for the next weeks since these tests may affect how the pure model can be realized on the blockchain.

For the web app, we continued to clean up the codebase and made it more robust.

Besides all this, we joined forces with Well-Typed. So this means setting up all developers in the next week in order to gain a big development speed up.

Next week we will continue to work on the pure model and produce some more properties. This will lay the basis for a blockchain-aware implementation.


Haskell & Plutus Developer at Cardax

Comments 0
There are currently no comments.