This repository contains a collection of hands-on projects designed to demonstrate core Solana development skills using both Rust and TypeScript. The goal is to build confidence in working with Solana transactions, SPL tokens, and NFTs using various tools and languages.
1. prereq-rs
A Solana client implemented in Rust. This repo demonstrates the following operations:
- Requesting an airdrop for a local wallet
- Transferring SOL between two accounts
- Minting an NFT from a [Turbin3] collection
This project is aims at getting us familiar with solana client interactions in Rust, and working with NFTs.
2. prereq-ts
A TypeScript implementation of the same features from prereq-rs. This client showcases:
- Requesting an airdrop using the Solana Web3.js library
- Transferring SOL from one wallet to another
- Minting an NFT via a Turbin3 collection using TypeScript tooling
This can be ideal for frontend or full-stack developers looking to work with Solana through JavaScript/TypeScript interfaces.
A set of utility scripts showcasing how to interact with SPL tokens and Metaplex NFTs on Solana using TypeScript. This includes:
spl_init.ts: Creates a new SPL token mintspl_mint.ts: Mints tokens to a designated wallet addressspl_transfer.ts: Transfers SPL tokens between walletsspl_metadata.ts: Adds metadata to a token using the UMI framework
nft_image.ts: Uploads an image to distributed storage (e.g., irys)nft_mint.ts: Mints an NFT using the Metaplex framework
- Node.js / npm
- Rust & Cargo
- Solana CLI
- Phantom or another Solana wallet (devnet)
- Anchor (optional, for Rust development)
- Clone the repo
git clone https://github.com/solana-turbin3/Q3_25_Builder_MahmoudFathy.git- Install dependencies in
prereq-rs
cd prereq-rs
cargo install- Run
cargo test- Install dependencies in
prereq-ts
cd prereq-ts
yarn install- Create a new key pair
yarn run keygen- Airdrop sol to the newly created keys
yarn run airdrop- Copy your private
turbin3-wallet.jsonfile toprereq.ts - Transfer sol to your wallet
yarn run transfer- Mint an nft to your wallet
yarn run enroll- Navigate to project
cd solana-starter/ts/cluser1- Install dependencies
yarn install- From there you have the following choices demonstrated below
- Create new mint
npx ts-node spl_init.ts- Mint spl tokens
npx ts-node spl_mint.ts- Transfer tokens
npx ts-node spl_transfer.ts- Initialize metada using UMI framework
npx ts-node spl_metadata.ts- Upload image to irys storage
npx ts-node nft_image.ts- Mint new cool NFT
npx ts-node nft_mint.ts