


#Rust π¦ #Solana π #Anchor β #React βοΈ #NFT πΌοΈ #Web3 π
NFT Marketplace Event Ticketing on the Solana Blockchain
This NFT Solana Project is developed by Stephen Damian
PS: I developed the same project with Ethereum / Hardhat
NFT Marketplace Event Ticketing - A decentralized application for managing and verifying event tickets as NFTs on the Solana blockchain.
Status: Under development π§
See more images here: Images
See further technical details here: README-tech.md
- Rust
>= 1.75.0
(last tested:1.80.0
) - You can install Rust here: Rustup. - Solana
>= 1.18.14
(last tested:1.18.22
) - You can install Solana CLI here: Solana CLI. - Anchor
0.30.1
- You can install Anchor here: Anchor. - Node.js
>= 18
(last tested:20
) and npm - You can install Node.js and npm here: Node.js.
- Back-End: Rust, Solana, Anchor
0.30.1
- Front-End: Next.js
14
, React18
, TypeScript5
, Tailwind CSS - Blockchain Interaction: Solana-Web3.js
- Wallet Integration: Phantom Wallet
Configure your Solana CLI to use your localhost validator:
solana config set --url localhost
git clone https://github.com/s-damian/anchor-nft-ticketing.git
cd /<your-path>/anchor-nft-ticketing
For the Anchor Program:
npm install
For the Next.js App:
npm install --prefix ./app/front
Create a .env
file for the Next.js App:
cp ./app/front/.env.example ./app/front/.env
Ensure all necessary environment variables are configured in the .env
file.
Start the Solana local validator with Metaplex (solana-test-validator --ledger <and other arguments>
):
npm run ledger
Build:
anchor build
Deploy:
anchor deploy
1/2. Find your program ID in target/idl/nft_ticketing.json
.
2/2. Update the program ID in:
Anchor.toml
programs/nft-ticketing/src/lib.rs
Copy the IDL (Interface Definition Language) file into the Next.js App:
./sh/copy-idl.sh
Go to the Next.js App Directory:
cd /<your-path>/anchor-nft-ticketing/app/front
Start the development server:
npm run dev
.
βββ app
β βββ front
β βββ app
β β βββ [React pages]
β βββ src
β β βββ components
β β β βββ [React components]
β β βββ handlers
β β β βββ [React handlers]
β β βββ idl
β β β βββ nft_ticketing.json.
β β βββ utils
β β βββ [React utils]
β βββ .env.local
β βββ config-overrides.js
β βββ package.json
β βββ tailwind.config.ts
βββ programs
β βββ nft-ticketing
β βββ src
β β βββ kernel
β β β βββ [Program managers]
β β βββ lib.rs
β βββ Cargo.toml
βββ tests
β βββ [Tests]
βββ Anchor.toml
βββ Cargo.toml
βββ package.json
βββ README.md
This project is licensed under the MIT License. See the LICENSE file for more details.