A decentralized tipping platform built on Solana blockchain
Features β’ Tech Stack β’ Installation β’ Usage β’ Deployment
- Decentralized Tipping: Send tips to creators using their unique Wing address
- Multi-Token Support: Support for various SPL tokens
- User Profiles: Create and manage your creator profile
- Transaction History: Track all your sent and received tips
- Withdrawal System: Easy withdrawal of received tips to your wallet
- Dashboard Analytics: Visualize your tipping activity with charts
- Secure & Trustless: Built on Solana blockchain with Anchor framework
- Anchor Framework - Solana smart contract development
- Rust - Smart contract language
- Solana - Layer 1 blockchain
- Next.js 15 - React framework
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Styling
- Solana Wallet Adapter - Wallet integration
- Bun - Fast JavaScript runtime and package manager
wing/
βββ contract/ # Anchor smart contract
β βββ programs/ # Rust smart contract code
β βββ tests/ # Contract tests
β βββ migrations/ # Deployment scripts
βββ wing/ # Next.js frontend
βββ app/ # Next.js app directory
βββ components/ # React components
βββ hook/ # Custom React hooks
βββ lib/ # Utility functions
βββ utils/ # Helper utilities
v1 Program ID:
AwYxen6oaiLQk2VjPkw7CGUupKWCFkAFALGgw1LdxmA5
v2 Program ID:
HKvDpbKfjDmyAwKayc4hewRZdMBgdLKVXgNpLFzfjEn9
- Node.js 18+ or Bun
- Rust & Cargo
- Solana CLI
- Anchor CLI
- Git
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# Install Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# Add Solana to PATH (add to ~/.zshrc or ~/.bash_profile)
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
# Install Anchor
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
avm install latest
avm use latest
# Install Bun (optional, faster than npm)
curl -fsSL https://bun.sh/install | bash
# Verify installations
solana --version
anchor --version
rustc --version# Update system
sudo apt update && sudo apt upgrade -y
# Install dependencies
sudo apt install -y build-essential libssl-dev libudev-dev pkg-config
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# Install Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# Add Solana to PATH (add to ~/.bashrc)
echo 'export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Install Anchor
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
avm install latest
avm use latest
# Install Bun (optional)
curl -fsSL https://bun.sh/install | bash
# Verify installations
solana --version
anchor --version
rustc --version# Install WSL2 (PowerShell as Administrator)
wsl --install
# After restart, open Ubuntu from Start Menu
# Then follow Ubuntu instructions above
# Or manually:
# 1. Enable WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 2. Enable Virtual Machine Platform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 3. Download and install WSL2 kernel update
# https://aka.ms/wsl2kernel
# 4. Set WSL2 as default
wsl --set-default-version 2
# 5. Install Ubuntu from Microsoft Store
# 6. Open Ubuntu terminal and follow Ubuntu setup instructions abovegit clone https://github.com/Nikuunj/Wing.git
cd Wingcd contract
# Install dependencies
yarn install
# or
npm install
# Build the contract
anchor build
# Generate TypeScript types
anchor build --idl anchor-idl
# Run tests (optional)
anchor testcd ../wing
# Install dependencies (choose one)
bun install
# or
npm install
# or
yarn install
# In contract directory
cd contract
# Start local validator
solana-test-validator
# In a new terminal, deploy locally
anchor deploycd wing
# Using Bun (recommended)
bun dev
# Using npm
npm run dev
# Using yarn
yarn devVisit http://localhost:3000 in your browser.
cd contract
anchor buildcd wing
# Using Bun
bun run build
# Using npm
npm run build
# Start production server
bun start
# or
npm startcd contract
# Configure Solana CLI for desired network
solana config set --url devnet # or testnet/mainnet-beta
# Create/set your wallet
solana-keygen new -o ~/.config/solana/id.json
solana config set --keypair ~/.config/solana/id.json
# Airdrop SOL for testing (devnet only)
solana airdrop 2
# Deploy
anchor deploy
# Note your Program ID from output- Connect Wallet - Connect your Solana wallet
- Create Profile - Set up your creator profile with username and bio
- Share Your Link - Share your Wing address (
wing.app/w/[your-address]) - Receive Tips - Accept tips in various tokens
- Withdraw - Withdraw your earnings anytime
- Connect Wallet - Connect your Solana wallet
- Find Creator - Navigate to a creator's Wing page
- Select Token & Amount - Choose token and tip amount
- Send Tip - Confirm transaction in your wallet
- View History - Check your tipping history in dashboard
cd contract
anchor testcd wing
bun test
# or
npm testcontract/programs/contract/src/lib.rs- Main smart contract logicwing/app/page.tsx- Homepagewing/components/send/SendForm.tsx- Tipping interfacewing/hook/useProgram.ts- Anchor program integrationwing/anchor-idl/contract.ts- Generated TypeScript types
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
See SECURITY.md for security policies and reporting vulnerabilities.
- GitHub: @Nikuunj
- Issues: GitHub Issues
- Solana Foundation
- Anchor Framework Team
- Next.js Team
- Open Source Community
Made with β€οΈ by the Wing Team