What happens when formal methods and developer experience join forces?
➡️ Enters Aiken's property-based testing framework.
You may not realize it yet, but your smart-contract testing just made a major leap forward.
What is this about? 👇
It's true that we didn't get funded in Catalyst 10. But, we didn't have any proposals so that's kind of normal.
We're fine, we build, and we carry on making Cardano smart contracts effortless.
One important comment is we haven’t even started most of the optimizations we have planned in the pipeline. These numbers are expected to get even better.
1/
@berry_ales
re-wrote Nebula from PlutusTx to Aiken. Numbers are shocking.
This is not even funny. When we say that Aiken is one of Cardano's dark horse for 2023 - what we mean is not only an easier development experience (c-alike functional syntax without mutability) but also:
At the moment it looks unlikely that we will be submitting a Catalyst proposal. We are fortunately not currently in a position where we need those funds, so it would be a shame to take away from projects that may be more in need.
In December 2023, on Mainnet, about 2.5% of all smart-contract transactions on-chain involved an Aiken contract.
In January 2024, it climbed to 7.5%.
In February, we've reached 18%.
One of the reasons we think Aiken is incredible is because we also use it. We built it for us initially and we firmly believe that using your own software is paramount to its success and quality.
And the beauty of Open Source is that it can be your software too.
Cardano has the most diverse Smart Contract ecosystem in the world. With an increasing range of options, it’s never been easier to get started on your Cardano developer journey. We’re going for number one!
1/ 🧵 Exciting news!
#Marlowe
is now available on mainnet for early adopters to start testing and providing feedback. It's a safe and intuitive way to create and deploy smart contracts on
#Cardano
. Let's dive into what makes Marlowe special.👇
Wanna use Python? TypeScript? Java? Rust? or even Haskell for your application backend logic? Let's go.
Aiken doesn't care as we decouple on-chain and off-chain code so you can use your favorite language where it matters.
For anything on-chain, we got you.
Full Aiken degens right here. We can attest.
Butane's devs have been instrumental in helping shape parts of Aiken from almost day 1. They are true pioneers who've really pushed the boundaries of what's doable on-chain at the moment.
Massive kudos to them💝
Cardano is written in Haskell, and developers can build smart contracts with various programming languages, including
#Plutus
and
#Marlowe
.
Learn about programming languages on
#Cardano
here:
@TheCardanoTimes
@IOHK_Charles
No.
Aiken has been fully funded by
@Cardano_CF
for almost 2 years now. It's been an integral part of the strategy to transform the smart contracts landscape and open a dialogue with builders.
We are also in touch with engineers at IOG working on Plutus Core.
We're good ☺️
Friendly reminder to add your project (even just a link to the site) to the awesome aiken list so we can keep a list of everyone using it. It’s not required that the links in the dapps sections are open source code.
Ever wondered what Aiken looks like as a language?
Here is an example that verifies membership of a value in a Merkle-tree (from its root hash) in <25 lines of Aiken.
Simple and efficient, as it should be.
Our biggest pride with Aiken is how we tricked you all to write lambda calculus with a nice(r) syntax and effective tools 😏
Functional programming surely is beautiful!
We've heard it was sometimes a bit difficult to apply parameters to a parameterized validator...
What if I told you that you can now apply parameters to contract blueprints interactively?
💝
#Aiken
We’ve been made aware that there is a token named Aiken going around. We do NOT have a token and will never have a token named Aiken. Aiken is an open source smart contract programming language NOT a protocol. We have no idea what this token is or if it’s legit or not.
Okay, hear me out: Aiken to PlonK-like circuits for Zero-Knowledge proving and cross-chain interoperability.
@zkFold
care to help us make that happen 😏?
We call upon all off-chain libraries and frameworks to lean into CIP-57 (Blueprints), the openAPI of Cardano smart contract interfaces. This allows off-chain to be 1) on-chain agnostic and 2) off-chain can generator code for types.
We need Aiken's level of experience on the backend, and Cardano's developer experience will be second to none.
It's no mean feat though, how do we get there?
“I am a simple man and I want simple answers”
— Howard Aiken
Did you know? Aiken was named after Howard H. Aiken, a computer scientist who pioneered computing, inspired by the work of Charles Babbage.
⚡️Indigo Labs embraces the future with
@aiken_eng
for Indigo Protocol v2! - enhancing throughput, improving user experience, and paving the way for innovative features.
🥇Read into this transformative tech for the Cardano ecosystem with real metrics:
We're doing some final testing on
@butaneprotocol
. Here's a single transaction that's creating 42 USDb CDPs (collateralized by ADA and SNEK), using that minted USDb to repay another CDP, and adjusting a EURb CDP at the same time.
Weekly reminder that Aiken has nothing to do with Rust, is not a Rust dsl, and does not require even knowing that Rust exists. Aiken is for all and is off chain code agnostic. The compiler just happens to be written in Rust.
Are you building cool stuff on Aiken? Did you write or record an amazing tutorial? Do you develop open source Aiken libraries?
If yes, make sure to contribute to our Awesome List of resources:
💜
Did you know Aiken is named after Howard Aiken? He was an American physicist and a pioneer in computing.
Inspired by Charles Babbage's difference engine, he envisioned an electro-mechanical computing device that could do much of the tedious work for him.
We’d like to shoutout some outstanding members of Aiken’s community that have contributed to fun convo in the discord. They’ve also snuck some code in. We’ll regularly highlight community members. This is not a complete list.
@hrpr
@MicahAlexKenda1
The Sundae v3 contracts are now officially open source!
We're still pinning down the last details, and working with our auditors to address any remaining issues.
If you have a mind for it, we'd love a review from members of our community!
We worked…
We're always on top of updates to the Plutus code base and are getting V3 ready. We've also successfully copied over the conformance tests that are contained in the Plutus repo. Our Rust version of the virtual machine is always being improved to meet correctness standards.
We've heard the current choice between "full traces" and "no traces at all" was a bit rough; so we've introduced a 3rd level of tracing: compact.
This will only show line numbers and columns of where an error occurs, without impacting script size as much as a full trace.
💝
🚀 Attention Aiken Devs! It's time for a fun, creative coding challenge! 🏆
Join our
#AikenContest
! Show off your creativity by submitting code that will replace our current example in the Aiken Playground. 💻
The prize? Your code on display & 1337 ADA in your pocket! 🌟💰
We would claim this bounty but we don’t have time at the moment. Which community members are ready to step up? We’re happy to provide guidance and review the course for quality.
🚀COURSE BOUNTY!
We're launching our first Course Bounty on the hottest topic in the
#Cardano
ecosystem -
@aiken_eng
!
🎁 Offering TWO bounties:
1,000 $ADA + 150,000 $WORK each!
🛠️ Content creators, this is your chance to contribute to the
#CardanoCommunity
and earn!
We are excited to announce that Yamfore has officially been converted to Aiken!
Moving forward, the team will be utilizing the Aiken programming language, which will greatly assist with Yamfore's smart contract development ✒️🖥️
Property-based testing is the art of generating test cases by exploring the realm of possible inputs and looking for properties that should be satisfied by the program.
On failure, a counterexample is found and can usually be simplified to provide a minimum reproduction path.
4/4
Beyond using Aiken, Indigo Labs is actively involved in its growth.🌱
Indigo Labs has been submitting issues on the Aiken GitHub and collaborating to try and push the boundaries of what's possible with the Cardano ecosystem.
#CardanoCommunity
True story.
Open source all-the-way! Thanks again
@Quantumplation
for the contribution 🙏.
PS: Contributing to open source projects is a good to strengthen your understanding of a domain.
👉 Want to learn more about Cardano & Aiken?
Come and contribute!
Save the date!🗓️
Get ready for an engaging
#KuCoin
Twitter Space event where we dive into the world of AIKEN - the cutting-edge smart contract platform built on
@Cardano
.
⏰10:00 AM on August 28, 2023 (UTC)
🔔 Set that reminder & join the conversation!
Friendly reminder that Aiken is not just a language. We also already have a working Plutus VM, utilities for encoding and decoding contracts, and transaction evaluation to get redeemer ExUnits without a node. The end goal is to become a fully featured toolkit.
2/ Minswap V2 will leverage Aiken to achieve up to 5x speed ⏩
Open-sourced, with a double security audit and a host of new innovative features
Minswap V2 isn't just an upgrade, it's a leap into a brighter Cardano DeFi future ☀️
We’d like to host a discussion/workshop to figure out the best future for Aiken’s package manager. Likely to be held on discord. There’s roughly two competing approaches and some opinion farming seems worthwhile. No plans yet, further details soon.
🟣 New medium article alert!
How
@aiken_eng
Changed the Cardano Landscape In Less Than A Year, our take on that:
💣 Is this is the start of something bigger?
New feature coming in the next release "logical op chains". Even with some formatting && and || chains can look a little ugly and be hard to clearly reason about. This also really helps with being able to visually disambiguate potentially confusing precedence in long BinOp chains
Learn Aiken: Fractionalised NFT
Lots of explaining at the beginning, if you just want to see the validators skip the first 3 min.
⚠️DO NOT USE THESE ON MAINNET!⚠️
They are examples only and not ready to deploy!
#Cardano
@aiken_eng
At 35 orders per scoop, a maximum of 6 scoops per block, and an average of one block every 20 seconds, that's a *theoretical* max throughput of around 907,200 orders per day. In practice, we have to share the chain with other protocols so we'd likely cap out well below this.
If you have or known of a dapp or library that uses Aiken please considering submitting either the site url or project repo to the awesome list. It's getting difficult to track them all on our own.
How does it work?
First we have extended our testing framework to now allow test functions to carry an optional extra argument.
That argument is generated (pseudo-)randomly by a *Fuzzer* specified, inline or by definition, using the 'via' keyword and written in Aiken directly.