- Generate keygen
- Airdrop devnet Solana
- Base58 Conversion
- Write a typescript function to convert a Base58 string to wallet address.
- Write a typescript function to convert a wallet address to Base58 string.
- Enroll in Turbine3 using IDL
- Generate Keygen
- Airdrop devnet Solana
- Base58 Conversion a. Write a rust function to convert a Base58 string to wallet address. b. Write a rust function to convert a wallet address to Base58 string.
- Enroll in Turbine3 using IDL
- Use the provided IDL with the updated program address to enroll in the Turbine3 program.
- Accounts
- Account Flags
- Account structure
- Programs
- Program Flags
- Rent
- Rent exception
- Transaction
- Transaction Structure
- Compute on Solana
- IDL (Interface Definition Language)
- SPL Token
- SPL Token functions
- PDA (Program Derived Address)
- Metaplex - Introduction to Metaplex, metadata, master edition and collections
- Metaplex Token standard - NFT, Semi-fungible assets and programmable NFTs.
- Understanding URI and UMI framework which is a modular framework for creating javascript clients for Solana programs.
- Adding metadata to SPL tokens
- Transferring SPL token
- Capstone project discussions
- Overview on the projects/topics and timelines
- Emphasis on application of anchor/solana concepts to build a functional, market ready environment
- Created image URI and metadata URI for the project
- Minted unique rug NFTs using metaplex
- Vault program initialization
- Vault deposit function : using CPI context to transfer funds from signer to vault
- Vault withdraw function: using CPI context to transfer funds back from vault to signer
- Vault close function: close the vault and transfer all funds to signer
- Used CPI context
- Discussion on User stories
- Maker Function: Implemented a maker function to send Token A (from mint_a) to the vault.
- Taker Function: Developed a taker function to transfer Token B (from mint_b) to mint_a and retrieve Token A from the vault.
- Refund Function: Created a refund mechanism to return Token A from the vault in case of cancellation.
- Token Transfers: Facilitated secure transfers of Token A to the vault and Token B to complete the escrow exchange process.
- Initialize Marketplace: Set up the marketplace program to handle NFT and token listings.
- Listing Function: Implemented a function to list NFTs and tokens for sale.
- Delisting Function: Developed a function to remove listed items from the marketplace.
- Purchase Function: Enabled buyers to purchase listed assets securely through the program.
- Constant Product Curve: Implemented the constant product formula (x * y = k) to maintain liquidity balance.
- Learnt about Liquidity Pools: Create liquidity pools to facilitate decentralized token swaps.
- Initialization
- Set up the AMM program with a provided seed, an optional authority, and a fee parameter.
- Uses Anchor's context and bump seed management to ensure secure account initialization.
- Deposit Function
- Allows users to deposit tokens into the liquidity pool, with constraints on maximum values (max_x and max_y).
- Utilizes a CPI (Cross-Program Invocation) to handle token transfers securely.
- Withdraw Function
- Enables users to withdraw tokens from the liquidity pool by enforcing minimum constraints (min_x and min_y).
- Incorporates signer seeds for secure withdrawal operations.
- Configuration Initialization
- Initializes staking configuration with parameters such as points per stake, maximum state, and a freeze period.
- Ensures that the staking mechanism is properly configured from the start.
- User Registration
- Provides a mechanism to register users so they can participate in the staking process.
- Stake Function
- Allows users to stake their NFTs, thereby participating in the staking rewards program.
- Utilizes Anchor's context for secure state management and staking logic.
- Initialization
- Sets up the dice game environment by initializing the game state with a starting amount.
- Place Bet Function
- Enables users to place bets by specifying an amount, a unique seed, and a roll prediction.
- Handles both the creation of the bet record and the deposit of the wagered amount.
- Resolve Bet Function
- Verifies the bet outcome using an ed25519 signature to ensure integrity and authenticity.
- Processes the bet resolution based on the verified signature and game logic.
- Refund Bet Function
- Provides a mechanism to refund the bet and close the bet account if necessary (e.g., in case of cancellation or error).