On-chain hierarchical royalties for open source software libraries
In today's world of open source software, we believe that the developers of prominent open source libraries deserve to be compensated when another project forks their code and uses it as a dependency. Our application tries to propose a solution to that. We give developers the ability to mint an NFT that represents their software. Future developers that utilize their software can mint NFTs under theirs to signify their appreciation. When someone purchases a copy/license of the software, that developer earns 95% of the sale while the remaining 5% are distributed evenly amongst all parent dependencies of the library. To do this, we essentially traverse a linked list and identify the parents and transfer ETH to them.
Our backend is written in Solidity and our frontend is written in Typescript and React. To run our chain locally, we utilized Hardhat. To test said contracts, we used hardhat as well as vanilla javascript. One of the things that stands out to us that we're proud of are the Solidity tests that we wrote. I (Harrison) have always been subscribed to a test-first mindset and being able to review and run these tests greatly helped Hans with the front end integration.