This repository is my personal fork of the original Web3-Builders-Alliance project, intended to be a bootstrap project for the 2024 Q3 Cohort sessions.
It does contains:
- A Solana Blink nextjs project that let's you mint NFTs collections from images in AWS S3
blinks/madrug
- My classwork and homework done during the training under the
rs
andts
folders - My personal Session's backlog that you can find below this readme.
Under this section I keep the most relevant work done during the sessions or at home.
I've built a POC of encinitas in my spare time, it has not been part of my classwork, but I think it's worth mentioning.
Encinitas is a POC aobut a user-friendly infrastructure platform that can be installed by simply adding an initialization script to your dApp or providing a list of public keys for your Solana Programs. Once set up, Encinitas tracks metrics from both frontend interactions and Solana network executions, offering dashboards to help teams analyze user behavior and address issues before they escalate.
You can find more information about Encinitas in he following resources:
- Notion Web Page - Project Details
- GitHub Repository - Docs
- GitHub Repository - Frontend
- GitHub Repository - Collector
- GitHub Repository - Agent
This is a simple project that allows you to mint NFTs from images stored in an AWS S3 bucket. It uses the Solana Blink library to create the NFTs and the metadata.
You can find the project under the blinks/madrug
folder.
The blink is deployed at:
- https://madrug.vercel.app/api/actions/rug
- You can test it out in the Dialect Blink explorer: https://dial.to/devnet
This is how the blink looks like:
I will be adding notes from each session as a reference.
Session 1 - 2024-07-31
This is the largest class ever for the afternoon session. There are harder prerequisites and half the time, making it a big group with more expectations.Good practices:
- Ask questions in the chat, even though there is a Q&A time.
- Some questions might be addressed during office hours.
- Most Discord activity usually happens after the session itself.
Effort outside classes is necessary. Attend workshops and take advantage of every opportunity to go the extra mile.
I completed the class homework during the session:
Create a mint account:
$ ts-node ./cluster1/spl_init.ts
Success! Your mint address is: GNGEwqYFimVjndDMtL8vKne2ygyEAoqHHG2w125BGzVY
✨ Done in 2.47s.
Create a token account:
$ ts-node ./cluster1/spl_mint.ts
Your ata is: J6QnY56smBTyGSGvvpvdBxaL3ShjLdvBbJniQ2DiyyfW
✨ Done in 2.76s.
Mint some tokens:
$ ts-node ./cluster1/spl_mint.ts
Your ata is: J6QnY56smBTyGSGvvpvdBxaL3ShjLdvBbJniQ2DiyyfW
Success! Your mint transaction is: 4NXbMZtR2vxm28qBZ3YtQiSScGhGhnssb1qZqRgCqAQQF6sojs2JAapLqs5dGLLPebGtxdva9rQS3rSjka4XWqhi
✨ Done in 2.47s.
- Gain a full understanding of Program Derived Accounts - link
- Gain a full understanding of SPL Tokens - link
Next session targets:
- SPL metadata
- SPL transfer
Session 2 - 2024-07-31
We had Nick Frostbutter doing a presentation (recorded from the morning session) about Blinks.Blinks are a cool tool, with nice uses cases, they do have some limitations for security and integration reasons that might not be appealing (Ex: There is a registry you need to apply controlled by Dialect), but it's fine.
- Create Token Metadata
Session 3 - 2024-08-01
This session was about the Solana Program Library (SPL) and how to create NFTs.- Complete the
spl_transfer
➜ ts git:(master) ✗ yarn spl_transfer
yarn run v1.22.21
$ ts-node ./cluster1/spl_transfer.ts
Transaction signature: 5M7g7isjjEhUuUA5W1mzh3q5X2WAFAgHyrmECZUXebpZtwjR4ZwS2osqoYyWv9NBAbXZj7m7xQ78YDJP8MydQgUN
✨ Done in 2.81s.
- Complete the
sql_metadata
➜ ts git:(master) ✗ yarn nft_metadata
yarn run v1.22.21
$ ts-node ./cluster1/nft_metadata.ts
Your image URI: https://arweave.net/IgUpys1136O9Uf-A08Rc20_eP6_FWIAqx4TA3D2_DYI
-
We will create rugs https://deanmlittle.github.io/generug/
-
We create an initialized NFT
➜ ts git:(master) ✗ yarn nft_mint
yarn run v1.22.21
$ ts-node ./cluster1/nft_mint.ts
Succesfully Minted! Check out your TX here:
https://explorer.solana.com/tx/3taVExh9j3W3LMCWQwmQPH5dzftGZTVjSyodUSgSv8NTSin5vMjWNZob5M1oaX7oj1EcYqCcBwe4erozdnksBMG8?cluster=devnet
Mint Address: 89x1VbCpo4xBb1HXBXxqzVQf4btiNxLrW1Aw7DaZKDWY
✨ Done in 16.12s.
This was the final RUG NFT address
Session 4 - 2024-08-06
This session was about building the first Anchor program (a Vault proposal).I did manage to finish the vault during the class time, the code is here
- I also updated the format for the folders, so I will be now keeping a format as:
week1
/session1
Session 5 - 2024-08-07
This session was about building a escrow smart contract.It did required real focus during the session, but at the end I think we got a good understanding.
I've uploaded the escrow
to week2/session2/escrow
Session 6 - 2024-08-08
This session was about building an automated market maker (AMM) smart contract.It did required real focus during the session, but at the end I think we got a good understanding.
I've uploaded the amm
to anchor_amm
Session 7 - 2024-08-13
This session was about building an NFT stackerIt did required real focus during the session, but at the end I think we got a good understanding.
Session 8 - 2024-08-14
This session was about finishing the NFT stackerIt did required real focus during the session, but at the end I think we got a good understanding.
I've uploaded the nft_stake
to anchor_nft_stake