diff --git a/README.md b/README.md index 14a1e1a7..687f8974 100644 --- a/README.md +++ b/README.md @@ -24,62 +24,92 @@ If a given example is missing, please add it! #### account-data +Store and retrieve data using Solana accounts. + [anchor](./basics/account-data/anchor), [native](./basics/account-data/native) #### checking-accounts +[Check that the accounts provided in incoming instructions meet particular criteria.](./basics/checking-accounts/README.md) + [anchor](./basics/checking-accounts/anchor), [native](./basics/checking-accounts/native) #### close-account +Close an account and get the Lamports back. + [anchor](./basics/close-account/anchor), [native](./basics/close-account/native) #### counter +[Use a PDA to store global state, making a counter that increments when called.](./basics/counter/README.md) + [anchor](./basics/counter/anchor), [native](./basics/counter/native), [seahorse](./basics/counter/seahorse) #### create-account +[Make new accounts on the blockchain.](./basics/create-account/README.md) + [anchor](./basics/create-account/anchor), [native](./basics/create-account/native) #### cross-program-invocation +[Invoke an instruction handler from one onchain program in another onchain program.](./basics/cross-program-invocation/README.md) + [anchor](./basics/cross-program-invocation/anchor), [native](./basics/cross-program-invocation/native) #### favorites +Save and update per-user state on the blockchain, ensuring users can only update their own information. + [anchor](./basics/favorites/anchor) #### hello-solana +[Hello World on Solana! A minimal program that logs a greeting.](./basics/hello-solana/README.md) + [anchor](./basics/hello-solana/anchor), [native](./basics/hello-solana/native), [seahorse](./basics/hello-solana/seahorse) #### pda-rent-payer +[Use a PDA to pay the rent for the creation of a new account.](./basics/pda-rent-payer/README.md) + [anchor](./basics/pda-rent-payer/anchor), [native](./basics/pda-rent-payer/native) #### processing-instructions +[Add parameters to an instruction handler and use them.](./basics/processing-instructions/README.md) + [anchor](./basics/processing-instructions/anchor), [native](./basics/processing-instructions/native) #### program-derived-addresses +Store and retrieve state in Solana. + [anchor](./basics/program-derived-addresses/anchor), [native](./basics/program-derived-addresses/native) #### realloc +How to store state that changes size in Solana. + [anchor](./basics/realloc/anchor), [native](./basics/realloc/native) #### rent +[Determine the necessary minimum rent by calculating an account's size.](./basics/rent/README.md) + [anchor](./basics/rent/anchor), [native](./basics/rent/native) #### repository-layout +[Layout larger Solana onchain programs.](./basics/repository-layout/README.md) + [anchor](./basics/repository-layout/anchor), [native](./basics/repository-layout/native) #### transfer-sol +[Send SOL between two accounts.](./basics/transfer-sol/README.md) + [anchor](./basics/transfer-sol/anchor), [native](./basics/transfer-sol/native), [seahorse](./basics/transfer-sol/seahorse) @@ -88,30 +118,44 @@ If a given example is missing, please add it! #### create-token +[Create a token on Solana with a token symbol and icon.](./tokens/create-token/README.md) + [anchor](./tokens/create-token/anchor), [native](./tokens/create-token/native) #### escrow +Allow two users to swap digital assets with each other, each getting 100% of what the other has offered due to the power of decentralization! + [anchor](./tokens/escrow/anchor) #### nft-minter +[Mint an NFT from inside your own onchain program using the Token and Metaplex Token Metadata programs.](./tokens/nft-minter/README.md) Reminder: you don't need your own program just to mint an NFT, see the note at the top of this README. + [anchor](./tokens/nft-minter/anchor), [native](./tokens/nft-minter/native) #### pda-mint-authority +[Mint a Token from inside your own onchain program using the Token program.](./tokens/pda-mint-authority/README.md) Reminder: you don't need your own program just to mint an NFT, see the note at the top of this README. + [anchor](./tokens/pda-mint-authority/anchor), [native](./tokens/pda-mint-authority/native) #### spl-token-minter +[Mint a Token from inside your own onchain program using the Token program.](./tokens/spl-token-minter/README.md) Reminder: you don't need your own program just to mint an NFT, see the note at the top of this README. + [anchor](./tokens/spl-token-minter/anchor), [native](./tokens/spl-token-minter/native) #### token-swap +[Create liquidity pools to allow trading of new digital assets and allows users that provide liquidity to be rewarded by creating an Automated Market Maker.](./tokens/token-swap/README.md) + [anchor](./tokens/token-swap/anchor) #### transfer-tokens +[Transfer tokens between accounts](./tokens/transfer-tokens/README.md) + [anchor](./tokens/transfer-tokens/anchor), [native](./tokens/transfer-tokens/native), [seahorse](./tokens/transfer-tokens/seahorse) @@ -122,54 +166,80 @@ If a given example is missing, please add it! #### basics +Create token mints, mint tokens, and transferr tokens using Token Extensions. + [anchor](./tokens/token-2022/basics/anchor) #### cpi-guard +Enable CPI guard to prevents certain token action from occurring within CPI (Cross-Program Invocation). + [anchor](./tokens/token-2022/cpi-guard/anchor) #### default-account-state +Create new token accounts that are frozen by default. + [anchor](./tokens/token-2022/default-account-state/anchor), [native](./tokens/token-2022/default-account-state/native) #### group +Create tokens that belong to larger groups of tokens using the Group Pointer extension. + [anchor](./tokens/token-2022/group/anchor) #### immutable-owner +Create tokens whose owning program cannot be changed. + [anchor](./tokens/token-2022/immutable-owner/anchor) #### interest-bearing +Create tokens that show an 'interest' calculation. + [anchor](./tokens/token-2022/interest-bearing/anchor) #### memo-transfer +Create tokens where transfers must have a memo describing the transaction attached. + [anchor](./tokens/token-2022/memo-transfer/anchor) #### metadata +Create tokens that store their onchain metadata inside the token mint, without needing to use or pay for additional programs. + [anchor](./tokens/token-2022/metadata/anchor) #### mint-close-authority +Allow a designated account to close a Mint. + [anchor](./tokens/token-2022/mint-close-authority/anchor), [native](./tokens/token-2022/mint-close-authority/native) #### multiple-extensions +Use multiple Token Extensions at once. + [native](./tokens/token-2022/multiple-extensions/native) #### non-transferable +Create tokens that cannot be transferred. + [anchor](./tokens/token-2022/non-transferable/anchor), [native](./tokens/token-2022/non-transferable/native) #### permanent-delegate +Create tokens that remain under the control of an account, even when transferred elsewhere. + [anchor](./tokens/token-2022/permanent-delegate/anchor) #### transfer-fee +Create tokens + [anchor](./tokens/token-2022/transfer-fee/anchor), [native](./tokens/token-2022/transfer-fee/native) @@ -179,14 +249,20 @@ If a given example is missing, please add it! #### cnft-burn +Burn compressed NFTs. + [anchor](./compression/cnft-burn/anchor) #### cnft-vault +Store Metaplex compressed NFTs inside a PDA. + [anchor](./compression/cnft-vault/anchor) #### cutils +Work with Metaplex compressed NFTs. + [anchor](./compression/cutils/anchor) @@ -197,6 +273,8 @@ If a given example is missing, please add it! #### pyth +Use a data source for offchain data (called an Oracle) to perform activities onchain. + [anchor](./oracles/pyth/anchor), [seahorse](./oracles/pyth/seahorse)