Last updated 4 weeks ago
Interacting with a DApp on Cardano requires going through the project's front-end to submit your transactions or writing custom code (or using CLI) to build and submit the relevant transactions.
Through the use of Smart Beacons & router scripts users will be able to interact with DApps without going through centralized front-ends or building the smart contract transactions themselves.
This is the total amount allocated to Anastasia Labs - Smart Beacons, Router NFTs. 4 out of 4 milestones are completed.
1/4
Complete prototype
Cost: ₳ 30,000
Delivery: Month 2 - Dec 2023
2/4
Polishing the code, working on the offchain code
Cost: ₳ 35,000
Delivery: Month 3 - Jan 2024
3/4
Decentralized routing agents
Cost: ₳ 35,000
Delivery: Month 4 - Feb 2024
4/4
Documentation and wallet integration
Cost: ₳ 50,000
Delivery: Month 6 - Apr 2024
Philip DiSarro
No dependencies.
Project will be fully open source.
Smart Beacons is a framework for routing transactions. It is essentially AdaHandles for Smart Contract addresses.
For example consider the following transaction:
A user, Bob, is sending 15 ADA to the Smart Beacon @ada-to-min. The wallet resolves the address of @ada-to-min (which is the address of the router smart contract) and builds the transaction sending a UTxO with 15 ADA to the router smart contract including Bob's address in the UTxO's datum. The UTxO that is locked at the router smart contract is then spent by a routing agent (anyone can be a routing agent) to a DEX as a swap request. The router script enforces that the datum of the swap request correctly specifies that the beneficiary of the swap is the correct party (in this case Bob). Once the swap request is submitted by the DEX's batchers, the user will receive the some number of MIN tokens (depends on the current balance of the pool). There is a 1 ADA fee awarded to the routing agent, so the amount of MIN token the sender would receive is equivalent to the amount they would get if they swapped 14 ADA directly on the DEX UI.
It doesn’t need to be a swap, this can be done for any arbitrary smart contract interaction
For instance sending funds to @offer-spacebudz (which resolves to a router smart contract for SpaceBudz collection offers) could create a collection offer for SpaceBudz on some NFT marketplace. Each smart handle requires a custom routing smart contract. As a proof of concept, we have only implemented the routing script for @ada-to-min that was described above.
Right now, most interaction with smart contract protocols is done through centralized front-end services where the transactions are built and submitted through centralized backend infrastructure. In addition to the negative impact this has on decentralization, it is also really hampers adoption through the restrictions it imposes. For instance, users with mobile wallets have severely limited options when it comes to interacting with DApps. Also, regular users will be unable to interact with most DApps if the DApp front-end were to become unavailable for any reason or if the backend was down.
There are a few attempts to address this problem, such as DApp Schemas or Smart Contract Blueprints; however, all of these solutions rely on offchain infrastructure to specify how to interpret a DApp's datums, redeemers, and other onchain data in order to build transactions. Smart Beacons differs from these other approaches in that it is a fully onchain solution that does not rely on offchain infrastructure.
A Smart Beacon is an NFT that lives at a UTxO locked in a spending validator; the datum of the UTxO specifies how to interact with the spending validator that locks it. The datum is in essence an onchain Schema describing how to interact with the associated DApp (or at-least with the spending validator that locks the associated UTxO).
The most important metric for measuring the success of this framework is the feedback of developers who use it, and the wallets that adopt it. We will also track the number of wallets that integrate with this standard. Finally, the number of stars, forks and closed issues on the Github repo is a great naïve indicator for the success of this project. The entire process of development is easily trackable by viewing the Github commits and issues.
The resulting code and framework will be entirely open-sourced. A large amount of effort will go towards helping wallets integrate with Smart Beacons, including creating PRs to assist with integration on behalf of open-source wallets.
The router script framework will be shared with developers throughout the ecosystem including:
We will attempt to add the documentation to use and integrate with this framework to all the open-source documentation sources in the ecosystem (cardano developer portal, plutonomicon, working group discord)
I am the current main smart contract developer for two projects- LendFi V2 & Yamfore. Both have reached test-net stage, and showcase my abilities writing smart contracts. I am familiar with the Aiken smart contract language and have been writing in Plutus for almost 2 years (since PPP3). I also utilised lucid & Haskell throughout my work.
Anastasia Labs has rapidly established itself as a leading development firm within the Cardano Ecosystem. Our team consists of highly skilled developers who have made significant contributions to various community projects, including Lucid, Agora, Liqwid-Plutarch-Extra, and Aada Finance. Furthermore our developers have had experience developing and publishing end-to-end DApps including production projects such as WingRiders.
In addition to our project involvement, our team has been actively engaged in the developer experience domain. We have actively participated in educational panels focused on DApp Security Practices and Design Patterns, and our members have served as co-chairs of the IOHK developer experience working group.
Furthermore, our collaboration with Emurgo Academy has been instrumental in educating aspiring developers, with our team playing an essential role in this endeavor. We have also recognized and recruited the most exceptional talents from the academy's classes.
We have developed software development kits (SDKs) that facilitate the integration of existing dApps with other systems through off-chain code. Our team has also designed various protocols, including bridges and staking systems, while also actively contributing to open-source smart contract languages and their associated standard libraries.
Overall, Anastasia Labs has established itself as a highly capable and versatile development firm with a broad range of expertise within the Cardano Ecosystem.
Goals:
Budget is given as % of total:
Each milestone will be either additions to an existing GitHub repository, or new ones. Each milestone will include small example scripts which show they work in the described way.
Public benefits (dApps utilising this) shouldn't be expected within the milestones, as it can take some time for teams to start using a new tool. Completion of the described project itself, is the only milestone.
No third party products or services are needed.
I'm estimating this to take more hours than I would be getting paid for at my contract rate, so that is value for money in my point of view. This will very quickly enable large ecosystem projects, who haven't been able to allocate resources in this direction.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Compiler & Programming Language Research
Philip DiSarro
Philip is a Computer Science Graduate School Student specializing in Compiler Development & Programming Language Theory. He was one of the first developers to formally verify smart contracts in Cardano using Agda. Philip was the lead architect of many features (both live and upcoming) on WingRiders DEX. Philip has also made significant contributions to the Cardano developer ecosystem. As a co-chair of the IOHK developer experience working group he worked to identify and resolve pain points that DApp developers experience in Cardano, and had an integral role in getting Lucid & Plutus Simple Model included in the Plutus Pioneer Program. He is a blockchain consultant & educational lecturer for Emurgo. Many know him as the primary instructor for the Cardano Solutions Architect course.
Philip is currently the lead smart contract developer at Ikigai Technologies, a consultant and lecturer for Emurgo and a founder of Anastasia Labs.
His previous experience includes:
WingRiders - Lead Smart Contract Developer
Agora - open source contributor
Plutarch-Liqwid-Extra - open-source contributor
Plaid - FinTech Software Engineer
Philip developed the initial MVP for Smart Beacons, the @ada-to-min swap routing script which allows users to initiate a swap on Minswap directly from any compatible wallet by sending ADA to the Smart Beacon "@ada-to-min"