Please provide a detailed plan, including timeline and key milestones for delivering your proposal.
Vaccumlabs already offers cardano-hw-cli, which is a command line interface to connect with your hardware wallet. That takes the starting execution risk of the project of, as there is already an available solution and I need to just create an interface on top.
The however there is a "delay" on what the cardano-cli can do, its transaction format and which features the hardware wallet has available and then even later on what is implemented on the cardano-hw-cli. It is only recently that token mints and Plutus smart contracts came into the hardware wallets and thus for this project timeline on Fund 9, none of the Babbage Era(Vasil HF) features will be available.
Development has 2 stages:
First: Expected work ~ 1week ~ 40 Hrs
Create a wrapper of the cardano-hw-cli inside the Cardano transaction editor.
Second :: Expected work ~ 2.5 weeks ~ 100 hrs
- Extend the Editor's address database to recognize and dynamically generate addresses.
This must be done twice. Once when user only wants to interface with cardano-address, and where each address is individually managed. Secondly on the cardano-wallet REST API interface. In that case we use the service to manage the entire wallet for us. However, then It needs a translator out of the transactions produced from cardano-wallet into ones that can be used by the cardano-cli and cardano-hw-cli tools. 2 Weeks ~ 80 Hrs
- Derivation path matching. 4 Hrs
- Multi-stage transaction witnessing. 8 Hrs
Because of cardano-hw-cli design, each witness runs as a separate instruction. It is annoying but also a simple solution. It would be better to have direct access to the HID, but that would at least mean the user has a running node.js service it can connect and run code live, which is a way bigger endeavor. I would rather prefer Ledger&Trezor provide a Rust library for that communication instead of the current JavaScript libraries. That would simplify and improve interaction with hardware devices over in a desktop application over command line. That is but a broader industry decision and everybody is focus on using JavaScript for its general use in browser based environments.
- Witness aggregator.( This gives the bonus to create partially signed transactions, already possible in the editor for multi-sig but there is no nice interface for it. ) 8 Hrs
Included in the working hours is writing the corresponding documentation. Updating the progress feed on the Cardano Forum and releasing showcase videos.
---
Disclaimer on other Proposals and workload.
This is not my only Fund 9 proposal, and is one 2 two projects around the transaction editor. I do keep my projects linked so that my own efforts compound, however it means that although the work hours is a good measure their weekly compounding would take more than 3.5 weeks. I can only plan for target deadlines after voting is done.
For projects funded on previous rounds.
Fund 7 Transaction Editor is now a closed project
Fund 8 Ouroboros-mini query specification is a documentation effort and I will finish it before start of Fund 9. This project additionally includes a simple client implementation used within the Transaction Editor
Fund 7 Web based transaction editor, I miscalculated the design and effort for this project, I will keep working on it well past its funding time and probably well over Fund 9. It has been a great challenge to deal with it and I had to recognize changing its design a few times on the way. It has inspired some features on the Transaction editor desktop application, unveiling the Ouroboros-mini query specification, dealing with cardano-db-sync to process data to deal with Plutus contracts. I don't request further funding for this project, because it is personally not clear to me what it end up looking like. Its closing feature is producing an interactive Coin-Join on Cardano, whether it ends up as the service I intended or an extension for Nami I still don't know. Thus for the opportunity to keep iterating on the design I take it on my personal effort. Every time I do come up with a clearly scoped feature again, it is due to working on this project.
Please provide a detailed budget breakdown.
This project has only work compensation as I already own hardware devices from Ledger, and the cardano-hw-cli provides Ledger&Trezor connectors.
A total of 140 work hrs as specified in the previous section are budgeted at an hour rate of 75USD/hrs
Please provide details of the people who will work on the project.
I'm the sole contributor. Project coordinator and developer.
Óscar Nájera
https://oscarnajera.com
https://github.com/Titan-C
If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.
This project is closed in scope and I'll not return for further funding for it specifically. I can close it successfully. However, I believe Catalyst is a great system to sponsor people to work on community valued tasks. I as developer the more I work on Cardano, the more tools I need for it and the more Ideas I want to work on. Thus I will return to Catalyst to fund new projects or new modules for the Transaction editor. The community vote does help me prioritize what I shall build first and it also lets me meet other people.