Giter VIP home page Giter VIP logo

aiken's Introduction

AIKEN

A cardano smart contract language and toolchain

Install

For now you'll need rust installed, see rustup.

cargo install aiken

Usage

For now the command line application can only encode/decode Untyped Plutus Core to/from it's on chain format. See the roadmap below for a list of planned features and goals.

# help
aiken help

# compile an untyped plutus core program to flat
aiken uplc flat program.uplc

aiken uplc flat program.uplc --print

# output
00001011 00010110 00100001 01001000
00000101 10000001

aiken uplc flat program.uplc --out=something.flat

# decode an untyped plutus core program from flat
aiken uplc unflat program.flat

aiken uplc unflat program.flat --print

# output
(program
  11.22.33
  (con integer 11)
)

aiken uplc unflat program.flat --out=something.uplc

Roadmap

In general, the goal is to port everything we need for plutus to Rust. This will be needed if we ever want to build a full node in Rust. Since we will have these tools natively in Rust, we plan on building a new high level language for writing smart contracts on Cardano. These are generic milestones and the listed ordering is not necessariy the implementation order or full scope.

  • compile plutus core into it's on chain encoding
  • reverse the on chain encoding into plutus core
  • Plutus Core interpreter
  • create a higher level syntax with inspiration from
    • JS
    • ReasonML
    • Elm
    • Roc
    • Rust
    • Gleam
  • Language Server

Resources

aiken's People

Contributors

rvcas avatar microproofs avatar mitchturner avatar

Stargazers

Bernard Sibanda 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.