The project is designed to allow for artists to create a NFT that has connection to a piggybank wallet made for the NFT, and a smart contract to allow for withdraws from the piggybank after meeting the requirements. We decided to try the Audius API for determining track/album interaction, and when owners become eligible for their withdraw. One scenario is a NFT album is minted and sold. The first owner must share the NFT and pass it on to another potential fan. After sharing, the track interaction grows and passes the requirement for the first owner to withdraw their reward.
We leveraged the frameworks application-research/next-bucket to build with Textile, and scaffold-eth to start interacting with basic smart contracts. The project isn't complete, but provided us with our first looks into the technology and a great learning experience. With next-bucket, we were able to interact with IPFS via Textile to create a new audio file as the PoC. We developed some basic solidity understandings in TravelingAlbum.sol which will be developed more and integrated in. We also used Postman as a framework for testing and interacting with the Audius API which we plan on using for reward eligibility. This lead into creating main.go for integration and gaining exposure to golang.
We wish the project was more cohesive at the end of the hackathon, but accept this as our first attempt with the technology. Any critique, guidance, or questions for this project idea are greatly appreciated. Thanks for the time and effort!