Giter Club home page Giter Club logo

design-patterns's Introduction

design-patterns

This project is dedicated to simplifying complex Plutus smart contract design patterns on the Cardano blockchain through the creation of two distinct libraries: one for Plutarch and another for Aiken. These libraries are designed to abstract away some of the more unintuitive and lesser-known design patterns, making them more accessible to developers. Below is an overview of the key features and design patterns these libraries address:

Key Features

  • Transaction Level Validation: Abstracts the intricacies of spending validator validation through:

    • Stake Validators using the "withdraw zero" trick.
    • Minting Policies for enhanced control and security.
  • Input/Output Indexing with Redeemers: Simplifies the management of input/output indexing, streamlining the process of associating redeemers with their respective inputs or outputs.

  • Strict Boolean Validation Checks: Offers a robust framework for implementing boolean binary operators, ensuring strict validation checks across Plutus, Plutarch, and Aiken.

  • PlutusTypeEnum Redeemers: Introduces an efficient data encoding method for simple redeemers, utilizing Enums to minimize complexity and optimize performance.

  • Normalization Techniques: Enhances data integrity and contract reliability through:

    • TxInfoMint Normalization: Cleanses txInfoMint data to eliminate 0 lovelace value entries, ensuring cleaner and more accurate data representation.
    • Validity Range Normalization: Standardizes the treatment of validity ranges, ensuring consistent and predictable contract behavior.

Documentation Overview

Each of the following documents provides a deep dive into the specific design patterns and features implemented in the libraries:

For more detailed information on each feature and design pattern, please refer to the individual documents.

design-patterns's People

Contributors

colll78 avatar solidsnakedev avatar mpetruska avatar nikhils9 avatar hadelive avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.