Transactions for sending assets to many addresses will incur cumulative transaction fee unless batched together into one transaction.
Develop an open source tool for cardano-cli which generates batched transactions that can send multiple native assets to multiple addresses.
This is the total amount allocated to Batch tx generator for cardano-cli
Develop a batched transaction generator that generates signed transactions which can be directly submitted to the Cardano blockchain even when there are multiple assets and recipient addresses involved.
Batching transactions is a pertinent use case as it has a direct impact on transaction fees that are paid. At present teams devise their own approaches to batch transactions when using the cardano-cli. This project will create a well designed open source repository that can be used by teams for batching transactions easily by just configuration of properties.
We implemented a batched transaction (manually prepared) in testnet to observe the reduction in transaction fee. To test, we sent a native token to 150 different receive addresses in one transaction. The total transaction fees turned out to be just ~ 0.73 ADA whereas if the transactions were not batched, the total cost would have been 150 x ~0.17 = ~ 25.5 ADA.
Here is the test transaction on cardanoscan: https://testnet.cardanoscan.io/transaction/af31b5852987d350a089684e6ccc9189c8a86b0014a88d3de296803bf988aa41
A reduction in fees by 35 times as seen in the above example is why we think it is worth the effort to develop this into an open source solution.
Projects which employ batching of transactions today in their dApps and projects use their own approaches. There is a lack of scalable solutions which dApp developers can use out of the box. We will develop an open source repository with the code for this solution, a working example on testnet and video walkthrough for using the solution.
How the components of this solution will work:
A schematic diagram of the components can be found here.
Benefits of this open source solution
Pipelining mechanisms for this system so that it can be interfaced into live applications through APIs. This is part of future scope as interfacing with application pipelines rather than using as a standalone repository requires extensive work.
As described in the challenge details, the OSDE challenge aims to promote open source projects, open-source frameworks, and accessible knowledge. This project aligns with the guiding questions by ensuring benefits for future teams from this work, by sharing our knowledge and work through an open source repository. This proposal is for developing a common tool.
This open source solution aligns with all the key metrics of this challenge by
Health challenges like Covid can reduce availability of human resources and delay our delivery timeline.
As described in the detailed solution, we have conducted tests for batching a cardano-cli based transaction and have observed the benefits of fee reduction. That test involved manual steps, used text based input and had less configurability. However with the concept proven, we are confident that we can package it into a configurable generator with a supporting service to integrate with data sources. The roadmap for implementing is below:
The costs incurred in this project are development costs.
Total = $18000
We are a team of experienced Software Engineers/Plutus Pioneers/Gimbalabs PBL member/an ambassador in the Cardano ecosystem. Our team has delivered a in Fund 6, funded proposals in Fund 7. We have been building in Cardano for close to a year and have developed various open source repositories for Plutus/Cardano which can be found in our Github repo added in this proposal.
Notable development projects on Cardano that our team has been part of are:
The components of this solution have been listed out in the previous sections. The development has been split into different milestones to be achieved over a period of two months as indicated in the roadmap.
The progress and development can be measured by tracking the milestone and tangibly verified since we are building an open source repository.
The following are our success metrics
Open source repository completely developed in 2 months.
In 1 month:
At least one team using the repository for batching transactions on testnet.
In 3 months:
At least one team using the repository for batching transactions on mainnet.
In 6 months:
Mutiple teams useing the repository for batching transactions on mainnet.
Other teams extending repository further or collaborating for enhancements.
This is a new proposal.
Goal 9. Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
9.1 Develop quality, reliable, sustainable and resilient infrastructure, including regional and transborder infrastructure, to support economic development and human well-being, with a focus on affordable and equitable access for all
9.b Support domestic technology development, research and innovation in developing countries, including by ensuring a conducive policy environment for, inter alia, industrial diversification and value addition to commodities
Key Performance Indicator (KPI):
9.b.1 Proportion of medium and high-tech industry value added in total value added
Team of Software Engineers / Plutus Pioneers, Gimbalabs PPBL member, with a delivered project in Fund 6 and funded ongoing projects from Fund 7. Open source repositories that we have previously developed for Cardano can be found on the Github account linked on this proposal.