Skip to content

jcleira/solana-starter

 
 

Repository files navigation

Q3T_Sol_jcleira

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:

Highlights

Under this section I keep the most relevant work done during the sessions or at home.

Encinitas, a monitoring solution for dApps

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.

encinitas

You can find more information about Encinitas in he following resources:

Blink Madrug NTF Generator

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:

This is how the blink looks like:

Blink

Sessions

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.

Classwork

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.

Personal Homework

  • 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.

Homework

  • Create Token Metadata
Session 3 - 2024-08-01 This session was about the Solana Program Library (SPL) and how to create NFTs.

Classwork

  • 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
➜  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 stacker

It 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 stacker

It 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

Session 9 - 2024-08-15 Quite interesting session about pitching each other ideas.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 60.5%
  • Rust 38.8%
  • Other 0.7%