A Collection of Solana dApps for workshops!

Overview

Solana Workshop dApps

Your instructor may use one of the applications stored in this repository to conduct a Building on Solana workshop. There are a few key elements of this repository to understand:

  • 📘 Resources to learn about Solana development - whether you're beginner or intermediate level, can be found in the Resources section below.
  • 🔧 Setup steps are detailed in the How to Code Along section.
    • You can use a web-based IDE, which allows you to build & deploy programs without installation of any toolkits (ie. solana, rust, cargo).
    • You can also code along with your local setup, if you've got everything installed.
  • 🔑 You'll get the best experience from these workshops by cloning down the redacted code and filling in the blank sections as you follow your instructor through the session.
    • You can choose to simply clone down the complete application & deploy that, but this may not be as insightful!
  • ⚠️ If at any point you get stuck or have a question, you can share your workspace with your instructor - both for the web-based IDE & your local setup.

How to Code Along in Workshops

Setting up Solana Playground IDE

  • Go to https://beta.solpg.io/ and when you open the page for the first time, you'll see a template Solana program repository.
    • You can choose to delete this template Solana repository.
  • Click the "Wallet Not Connected" button in the bottom left & follow the prompts to either upload your existing wallet or generate a new one.
  • To create a new repository (called a workspace), click the "New" button in the upper left-hand side.
    • Choose your toolkit: Solana Native, Anchor, or Seahorse.
    • Name it, and click "Create".
  • 🔑 If you want to instead import an existing project, SolPG supports importing GitHub repositories as well.
    • Choose "Import from GitHub" & select the framework your repository is built using (Native, Anchor, Seahorse).
    • Follow the instructions detailed in the pop-up window about the specific path to provide.
    • Name it, and click "Import". You should see your program code in SolPG!

Local Setup

  • Install the Solana CLI
    • Note: Requires Rust & Cargo full installation.
  • Configure the Solana CLI's Cluster
    • solana config set -ul    : Sets cluster to http://localhost:8899
    • solana config set -ud    : Sets cluster to https://api.devnet.solana.com
    • solana config set -ut    : Sets cluster to https://api.testnet.solana.com
    • solana config set -um    : Sets cluster to https://api.mainnet-beta.solana.com
  • Configure the Solana CLI's Wallet
    • solana-keygen new        : This will generate a new keypair to ~/.config/solana/id.json
    • Use the -o flag to change that output location.
    • Use the --help flag to get more information about the CLI commands.
  • Building programs with Cargo
    • cargo new --lib program-name
    • Ensure you add the following config to Cargo.toml under [lib]: crate-type = ["cdylib", "lib"]
    • cargo build-sbf --manifest-path=path/to/Cargo.toml

Using the Redacted Code to Code Along

  • Simply clone this repo but use only the redacted-code branch
    • git clone [email protected]:solana-developers/workshop-dapps.git
    • git checkout redacted-code

Sharing Your Workspace on Solana Playground IDE

  • Click the little arrow symbol underneath your project's name/path. If you hover over it, it should say "Share" (Not "Export").
    • This will generate a unique URL that will allow anyone to route to your specific SolPG workspace.
    • Share this link with the instructor!

Sharing Your Workspace from Your Local Setup

  • Currently the best way to do this is by using GitHub.
    • You can push your most recent changes up to GitHub
    • Share the link with the instructor
    • Instructor can import the project into his/her SolPG instance

Resources for Learning Solana Development

Web-based IDE

Wallets

Local Toolkit Installation

dApp & Program Development

You might also like...

The Remix Stack for Web2 apps and Web3 DApps with authentication with Magic, testing, linting, formatting, etc.

The Remix Stack for Web2 apps and Web3 DApps with authentication with Magic, testing, linting, formatting, etc.

Remix French House Stack Learn more about Remix Stacks. npx create-remix --template janhesters/french-house-stack What's in the Stack? The French Hou

Dec 26, 2022

Browser extension that enables you to Log-in as ANY address on ALL dapps

Browser extension that enables you to Log-in as ANY address on ALL dapps

Impersonator Extension Log-in as ANY address on ALL dapps. Impersonator injects into the dapps just like Metamask, but gives you the freedom to set cu

Dec 14, 2022

A developer's guide to building dapps on Fuel.

Fuel Fuel Labs is building Fuel, the fastest modular execution layer. Learn more about Fuel: Fuel docs Getting Fuelpilled: Why Developers Should Be Lo

Dec 1, 2022

Obsidian-Snippet-collection - A collection of snippet to customize obsidian

Obsidian-Snippet-collection - A collection of snippet to customize obsidian

This repo is a collection of CSS snippets for Obsidian.md. To install them on PC

Dec 22, 2022

Solana blockchain candy machine app boilerplate on top of Metaplex Candy Machine. NextJS, Tailwind, Anchor, SolanaLabs.React, dev/mainnet automation scripts.

NFT Candy Factory NOTE: This repo will prob only work on unix-based environments. The NFT Candy Factory project is designed to let users fork, customi

Dec 30, 2022

This repo contains instructions on how to create your NFT in Solana(using Metaplex and Candy Machine) and mint it using your custom front-end Dapp

This repo contains instructions on how to create your NFT in Solana(using Metaplex and Candy Machine) and mint it using your custom front-end Dapp

Solana-NFT minting Dapp Create your own NFT's on Solana, and mint them from your custom front-end Dapp. Tools used Metaplex - Metaplex is the NFT sta

Nov 2, 2022

Octane is a gasless transaction relayer for Solana.

Octane ⛽ What is Octane? How does it work? Is this secure? What does Octane want? How do I use it? What is Octane? Octane is a gasless transaction rel

Jan 1, 2023

A messaging app built on top of Solana blockchain where you can store and view your messages.

Message App on Solana 💬 This Message application written Rust using Anchor ⚓ Setting up the Environment: Rust Installation curl --proto '=https' --tl

Oct 2, 2022

Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

Sep 24, 2022
Comments
  • Added SPL Tokens to v2 program

    Added SPL Tokens to v2 program

    The program & dApp function the exact same way as they do in the v2-program branch.

    With these changes, likes and retweets will mint tokens to the tweet's author.

    ie.
    When a user likes your tweet, you'll get a Like token minted to your wallet, and a PDA will also be created so the FrontEnd can render your list of likes.
    Same thing for retweets.


    Note!

    The URI for each token's metadata is specific not only to this GitHub repository but to the branch itself as well.
    This will need to be updated upon merge to fix metadata.

    opened by realbuffalojoe 0
  • Enhanced current program

    Enhanced current program

    Made some upgrades to the current program.

    • This program is ready to serve at version #1 (workshop 101)
    • Rust code has been cleaned up & tidy
    • We can optionally remove the "Like" & "Retweet" files from our 101 workshop
    • The UI does not currently support a "Like" or "Retweet" button

    Test work & UI works.

    opened by realbuffalojoe 0
Owner
Solana Developers
Solana Developers
Contribute code, meet community members, participate in workshops, and win more SWAG 🚀

Welcome to Hacksquad 2022! Contribute code as a team, meet community members, participate in workshops, and win SWAG With the fantastic atmosphere of

Novu 57 Dec 21, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
🛠 Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

?? Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

Holaplex 30 May 21, 2022
solana-base-app is a base level, including most of the common features and wallet connectivity, try using `npx solana-base-app react my-app`

solana-base-app solana-base-app is for Solana beginners to get them up and running fast. To start run : run npx solana-base-app react my-app change th

UjjwalGupta49 33 Dec 27, 2022
Sheetzapper imports your account value accross Zapper.fi supported wallets and dapps into a Google Sheet

Overview Sheetzapper imports your account value accross Zapper.fi supported wallets and dapps into a Google Sheet. This allows you to chart your net w

null 4 Nov 27, 2022
Lightweight reusable Web3 UI components for dapps.

Web3UIKit ??‍♂️ Beautiful and lightweight UI components for web3 developers. This UI library will speed up your dapp development no matter which chain

null 1.3k Dec 26, 2022
A postMessage bridge to connect to dapps loaded into an iframe.

cardano-dapp-connector-bridge A postMessage bridge to connect to dApps loaded into an iframe. Motivation In April 2022, browser extensions are the onl

Tastenkunst GmbH 15 Oct 11, 2022
Weaver IBAX IDE. IBAX Network offers a polished development tool Weaver to develop DApps for ecoLibs (side chains).

Weaver Provide the user interface for ibax. Provide the IDE for App development. Save the private key of the user account and grant the permissions. R

IBAX PUBLIC NETWORK 51 Nov 4, 2022