When a new version of the Cardano node is released, it is difficult for community members to run basic functional tests on the node in an automated fashion (e.g., transactions, stake pool operation).
We propose to provide a CI/CD pipeline using Gitlab runners and the Cardano-Tools Python library to develop a suite of tests capable of continuously testing the Cardano node's core functionality.
This is the total amount allocated to Automated Cardano Testing Pipeline.
We propose to provide a CI/CD pipeline using Gitlab runners and the Cardano-Tools Python library to develop and deploy a suite of tests that can be run on new releases of the Cardano node. The CI/CD capabilities of Gitlab enable automated deployment of test code to a server that has been set up with a synced Cardano node running on the testnet. Automated tests will exercise and evaluate the following core functions of the Cardano node:
This project positively impacts developer productivity by providing deployment and testing automation. Further, the unit tests developed in the library also serve as documentation and code samples that serve as working examples of how to execute common tasks that Cardano developers need to do in the course of their work.
The automated testing of certain capabilities requires key prerequisites:
These items require access to a testnet fund "faucet", which is currently publicly accessible and hosted by the IOG team. These and other such issues may make the initial setup of the test node more tedious, but the automated tests we have proposed have a high likelihood of success.
Q4 2022: Setup testnet server and register as a CI/CD runner. Develop and deploy wallet, transaction, and native token automated tests.
Q1 2023: Develop and deploy stake pool setup, tear down, and delegation automated tests.
The hourly rate may vary widely across regions and professions; in this case, we believe that we have established an extremely conservative estimate of $40/hr.
Total: 130 hours x $40/hr x 2 devs = $10,400
Team member 1: Dylan Crocker Ph.D.
Ph.D. in Electrical Engineering with a minor in Computer Science from Georgia Tech. Engineering professional with over 10 years of experience. Cardano stake pool operator since December 2019.
Team member 2: Willie Marchetto
Received a Bachelor of Science degree in Computer Engineering from the Missouri University of Science and Technology and a Master of Science degree in Astronautical Engineering (with a focus on spacecraft electronics and software) from the University of Southern California. Willie has 10 years of experience in the research and development of high-consequence, high-reliability space systems and has spent a great deal of time administrating Linux servers and developing Python and embedded code. Cardano stake pool operator since December 2019.
Both team members have previously had a project funded through Catalyst with successful completion.
Yes, if the community believes our work is having a positive impact, we intend to submit proposals for future work.
The project progress will be measured by a goal of 5 substantial git commits per month. This isn't always the best method of measuring progress, so we additionally measure implemented unit tests with the goal of one new unit test implemented and passing each month.
This project will be considered successful when the following capabilities are exercised by Cardano-Tools unit tests deployed to a server running a synced Cardano node.
This project builds off of work conducted under this proposal https://cardano.ideascale.com/c/idea/400419
The Viper Staking Team has operated a stake pool on the Cardano blockchain since the incentivized testnet (2019). The team is behind the popular open-source Python library Cardano-Tools, which allows developers to automate many Cardano-related tasks using Python scripts.