
Demonstrate how the Solana blockchain enables fast, cheap international money transfers, transparent voting, automated real estate and lending, secure health records, data monetization, and supply chain efficiency.
Define a blockchain as a shared, immutable ledger of transactions recorded in blocks and added by mining, enabling decentralization of trust, immutability, and security.
Explore the Solana blockchain and its programs that automate lending, borrowing, and agreements, enabling decentralized finance, exchanges, and nonfungible tokens with fast, low-cost transactions.
Develop a Solana wallet and airdrop project, learn how wallets and public/secret keys enable sending test currency, and apply safety practices for key security and testing without real money.
Set up a Solana development environment by creating a new project folder, initializing a node project with npm init, and installing the Solana web3 package to start building JavaScript applications.
Create a wallet by importing Solana Web3 modules and initializing a new wallet, then prepare it for an airdrop within a Solana Web3 project.
Learn to retrieve your wallet credentials by viewing the public key for receiving Ceylon and safeguarding the secret key, which authorizes sending funds.
Fetch and print a Solana wallet balance by creating a connection to a cluster and using the get balance method with the wallet's public key, then log the result.
Create a Solana airdrop function using a connection to request sol (via lamports) to a wallet, handle errors with a try-catch, and verify the balance changes.
Explore tokens on the Solana blockchain, learn how to create and mint them with the Solana program library, and compare creating versus minting using real-world analogies.
Install and verify the Solana toolchain, ensure it's on PATH, then install the spl-token-cli crate via cargo to interact with the Solana Program Library.
Set up a new Solana wallet, understand the public and private keys, and verify your devnet balance on Solana Explorer after an airdrop.
Create a token on Solana using the SPL token program from the SPRO library, learn the difference between creating and minting, and note the unique token address for retrieval.
Create a token account in your Solana wallet, mint tokens with the SPL token tool on devnet, and verify balances in your wallet.
Examine the circulating supply on Solana, renounce minting authority to cap future minting, and burn your own tokens to permanently reduce supply from the token account.
Learn to send your SPL token on Solana using the Phantom wallet, add a custom token, and confirm transfers to a friend's address.
Build a calculator program on the Solana blockchain using Rust, and test it with JavaScript via MOCAA, learning how custom Solana programs and accounts interact to power a DApp.
Initialize an anchor project, build it, and run tests to verify setup, then open Visual Studio Code to explore programs, migrations, and the IDL.
Learn to write a Solana program create function that initializes a calculator account using context, sets the greeting from a net message, and returns a program result.
Define the create function context in a Solana program by listing accounts, including initializing a new calculator account paid by the user with space and the system program.
Define the calculator account by three fields: a greeting message from the create function, the result of the operation, and a remainder for division, all inside the calculator struct.
Write mocha tests to verify a Solana program creates a calculator account with anchor and a provider. Validate the calculator greeting matches welcome to Solana and debug setup as needed.
Implement the addition function for the calculator by defining the function context, mutating the calculator account, and saving the sum of two numbers as the calculator's result.
Learn to write mocha tests for a Solana smart contract addition function using anchor, define test cases with accounts, and verify 2 plus 3 equals 5.
Implement subtraction, multiplication, and division, write their context, and create tests; use integer arithmetic for division and store the remainder in the calculator's remainder field.
Walk through a Solana calculator solution by implementing subtract, multiply, and divide with context-based calculations, plus modulo results and tests that verify calculations and anchor integration.
Build a decentralized crowdfunding app on Solana by writing a Solana program and program-derived accounts to manage campaigns, permissions, and funds, with a React frontend and a Rust/Anchor setup.
Initialize crowdfunding anchor project, verify its structure in Visual Studio Code, and build with anchor. Resolve cargo version issues and note target/idl describes program for tests and frontend integration.
Create a client-callable function in an anchor program to initialize a crowdfunding campaign with name and description. Set donated amount to zero and assign the creator as admin.
Define the create function context as accounts needed to initialize a campaign. Derive program derived address using seeds and a bump, with the user as signer and the system program.
Define campaign account structure in Rust by creating a pub struct campaign with admin, name, description, and amount donated, using the account macro, and verify program builds with anchor build.
Implement a withdrawal function that enables the campaign admin to withdraw funds from the campaign account to the user account, validating admin authorization, funding sufficiency, and rent exemption considerations.
Implement a donate function that transfers funds from a user wallet to a campaign account using a system program instruction and anchor, with user confirmation.
Deploy your Solana program to the devnet by creating a wallet, funding it with airdrops, building with anchor, updating the program ID, and deploying, then verify on the devnet explorer.
Set up a blank React frontend for the blockchain project, using create react app, install dependencies with npm (including the anchor library), and start the dev server to begin coding.
Connect a phantom Solana wallet to your web app by detecting window.solana, rendering a connect button when needed, and storing the wallet address in React state with useEffect.
Enable users to create campaigns in the Solana web app by wiring a program id, deriving campaign accounts, and confirming transactions with a connected wallet.
display all created campaigns on the web app by fetching program derived accounts and mapping them to campaign objects, showing balance and description.
Enable users to donate to campaigns by implementing a donate function that uses the campaign hub public key and wallet context with anchor-based value handling.
Implement a withdrawal function in a Solana web app, enabling campaign admins to withdraw funds via program-derived accounts with proper authorization.
Create a node project, install the Solana Web3.js library, and connect to the Solana devnet to fetch current and delinquent validators and log the results.
Create a Solana stake account by generating a key pair and funding it via airdrop, then configure withdrawal and stake authorities. Send stake program transaction, verify balance, and check status.
Delegate your stake to a validator to support the Solana blockchain, earning rewards when the validator accurately verifies transactions, while risking stake if fraudulent or censored activity occurs.
Learn how to fetch delegates for a specific Solana validator by manually querying stake accounts, filtering by the stake program, and inspecting a sample delegator.
Deactivate stake by stopping delegation to a validator, turning the stake into undelegated. Create, send and confirm a deactivate stake transaction using the wallet authorities, then verify the stake status.
Withdraw SOL from your stake account by creating and confirming a withdraw transaction using the stake account key, withdrawal authority, and destination wallet, updating the stake balance accordingly.
Learn to create an NFT on Solana using Metaplex candy machine, mint a random collection, and build a web app that lets users connect wallets and receive a unique NFT.
Clone or download the Solana NFT drop starter repo from GitHub, unzip it, open in Visual Studio Code, install npm packages, seed into the app folder, and prepare to code.
Connect the phantom wallet to your web app on devnet, detect window.solana, and authenticate users by calling solana.connect with trusted: true to obtain the public key.
Detect Phantom wallet connection and show a not-connected UI with a connect button. Implement a connect wallet function and manage wallet address state to reveal the public key after connection.
Install the metaplex cli on a Solana setup, clone the metroplex foundation repo, set up a candy machine to enable minting, verify the version, and save the command for reuse.
Design your custom nfts by creating paired asset and metadata json files in an assets folder, then use the metroplex cli to upload nfts to the blockchain.
Deploy your NFTs to the devnet using Megaplex candy machine version 2, configuring price, mint count, and storage, while setting up a local Solana wallet and keeper.
Create a web app to interact with a Solana candy machine, fetching its state and metadata via a provider and program.
Connect your Solana candy machine to a web app, manage live go-live date, fetch mint data, and render the candy machine component after wallet login to mint available items.
Render nft info on your web app by retrieving the candy machine state, then display the drop date, items minted, and items available.
Mint an NFT from your web app using a candy machine, handling token accounts and payments, then confirm the mint via a Phantom Wallet on Solana.
Create a Web3 decentralized app that stores gifts on Solana, deploys for friends to add images, while learning how the frontend uses JavaScript and React and the backend Rust.
Connect a Solana wallet to a web app to authenticate users, establish an authentication state, and write and deploy a program to the blockchain using a browser-based tool like Replicant.
Connect your web app to the phantom wallet to authenticate users on the Solana program by checking window.solana, prompting for connect, and storing the wallet address in state.
Create a wallet-gated UI to render a grid of GIF gifts using test data, add an input form to submit new links, and prepare to fetch from the Solana program.
Learn to write and test a basic Solana program using Rust and Anchor, set up a gift portal project, and run local tests with JavaScript.
Store gif data on the Solana blockchain by using a base account to track total gifts and each gift. Initialize the account, allocate space, and update counts.
Learn to store an array of items on a Solana program with anchor, where each item has a gift link and user address, plus serialization and tests.
Deploy your Solana program to the devnet using Anchor, configure the network, airdrop SOL, build and deploy, and verify the deployment in the Solana Explorer.
Connect your web app to a Solana program using anchor tests and upgradeable deployments with IDL; create a base account, fetch gifts, and interact with a connected wallet on devnet.
Connect a web app to a Solana program, call the gift submission function with accounts and input, and submit and approve transaction; implement a keeper to persist gifts across reloads.
Explore Chainlink integration with Solana to access real-world data for smart contracts, ensuring high-quality data and automatic actions, with a hands-on project retrieving SOL/USD exchange rates.
Develop the execute function to fetch the Chainlink data feed and store the round answer in a mutable result account, and wire the context accounts for Chainlink program and feed.
Specify the execute function context by declaring required accounts, initialize a result account to record lightest price data Chainlink fetches, allocate space, and wire in the Chainlink program and feed.
Define and initialize the result account to record data from Chainlink, expose it to users, and test the integration from the front end with JavaScript.
Write Mocha tests for your Solana program's execute function, wire up Chainlink data feeds, and verify the latest price from the data feed in a test results account.
Compile and run your Solana program with Anchor, fix compile-time errors, deploy from a wallet, and use Chainlink to retrieve real-life data for decentralized applications.
Set up a node.js project, securely store environment variables with dotenv, and connect to a Terra node using the LCD client by configuring the URL and chain ID.
Connect to a Terra node, create a testnet Terra account with a new mnemonic and address, and store them for restoration; airdrop Luna and verify the balance.
Explore how to read data from the Terra blockchain by querying block info, validator sets, accounts, exchange rates, and governance proposals, and learn about node info and mnemonics.
Submit and verify Terra blockchain transactions by building a wallet from mnemonic, crafting a transfer, and broadcasting. Then swap Luna for UST and check the transaction hash on testnet.
Ready to master Solana blockchain development? You've come to the right place!
Blockchain technology is the most disruptive force in years, and amongst the various blockchains is the shining star that is Solana. It's faster, cheaper, and better for the environment than both Bitcoin and Ethereum. These factors mean Solana is growing exponentially despite being so new, and make it likely to reach mass adoption.
Large tech companies and start-ups alike cannot hire developers who understand blockchain technologies fast enough, but there are so few resources published to help you truly understand what blockchains are used for, let alone build apps with them.
That's the purpose of this course: to be the best resource online for learning about Solana, the blockchain, and how to build apps with these cutting-edge technologies.
By the end of this course, you’ll:
Be an expert Solana and Web3 developer
Be proficient at creating your own decentralised applications from scratch
Make millions from NFTs? Build a decentralised version of Uber? Create your own bank? Up to you!
In this course you'll cover:
What the Solana blockchain is, how it works, and why it's so incredible
Deep dive into Solana development using Rust, JavaScript, and the command line
Full projects that will solidify your skills in DeFi (decentralised finance), NFTs (non-fungible tokens), dapps (decentralised apps), Web3, and more
If you want to take advantage of the cutting-edge Solana blockchain while it’s still new and rapidly growing, this course is for you. All you need is beginner level programming experience.
What is Solana?
Solana is a cryptocurrency like Bitcoin or Ethereum. What differentiates it from the rest it is its speed, cost-effectiveness, and eco-friendliness, and these make Solana poised to overtake both Bitcoin and Ethereum in popularity and adoption. What's more, is that Solana makes it easy for developers like you to create decentralised applications focused on transferring value from one party to another. It even supports *programs* which are pieces of code that run on the blockchain, and which can replace your bank/real estate agency/ticket selling company/accountant/witch doctor.