Pitch video: https://streamable.com/ek96z
- Looking at the UN Sustainable Development Goals, and Evan's recent post about building a 'token' on Algorand by taking advantage of the note field, I wanted to build something which is kind of like an NFT but really not. I mainly wanted to play around the SDK more, and we ended up creating the fish company.
What it does
The Fish Company is a website, targeted towards a fisherman.
It shows the fisherman the current stock of fish he has, and allows him to add more (to existing fish species, or a new species entirely) and also allows him to sell it off.
When the fisherman chooses to sell, a QR code is generated which he can place on the physical package of fish he ships off to the buyer. That QR code contains the raw payment tx which can be scanned and signed and then paid off, ideally through an app or something, but we did not build that.
This was made for the UN Goal of wanting to reduce illegal fishing and overfishing. The idea started off with that the fisherman (supplier) and the buyer would have a reputation score linked to them. Every successful purchase (and sale) would increase the reputation of both of them. The QR Code would be a multisig transaction/payment transaction which when scanned would just send Algos to the fisherman (supplier). In the case the buyer receives the fish but doesn't scan (doesn't pay) the fisherman, the fisherman would be able to note it down, and show proof since the 'transfer' transaction would be there on algorand but he wouldve never received the money. This would reduce the reputation of the buyer.
How we built it
The backend (interfacing with Algorand) is done via a GoLang API. The frontend is made in ReactJS.
Challenges we ran into
Time was a big problem. I started on this about 3 days ago, about 21st May, and with school and everything else going on, it was really hard to make time for this. I had bigger plans, and would've liked a better design on the website. I planned on including a multisig tx based QR code instead of what I have right now (this was inspired by AlgoMed), and I wanted the data structures to be more like Ethereum NFT's and be transferrable. At the moment, they're a pretty basic structure. A lot of the variables are also hardcoded in, and would have to be changed to run the application by yourself.
Accomplishments that we're proud of
- This was able to get (somewhat) finished in time
- QR code stuff is working
- getting current stock by scanning the algorand blockchain is working
What we learned
- How to utilize the note field of Algorand to build cool stuff
- how to scan the blockchain
- how react can be really annoying at times
What's next for The Fish Company
- for now, its just a proof of concept essentially. I'm not sure where this is going, but I am interested in developing a NFT implementation on Algorand using the note field.