Skip to content

Thedongraphix/BuildProof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BuildProof v2

Smart Contract Security Next.js TypeScript

πŸ” Smart Contract Security Verifier tool

Instantly verify and analyze the security of any smart contract on the blockchain with our advanced verification engines.


✨ What is BuildProof

BuildProof is a comprehensive builder platform that combines smart contract verification with collaborative tools for blockchain developers. It provides a complete ecosystem for builders to work together, earn reputation, and manage projects securely.

πŸ” Core Features

1. Smart Contract Verification

  • Paste any contract address for instant security analysis
  • Real-time vulnerability detection
  • Gas efficiency analysis
  • Industry compliance checks

2. Builder Bountie

  • Create and manage blockchain development bounties
  • Submit work with IPFS proof verification
  • Automatic payment distribution
  • 2.5% platform fee

3. Builder Reputation onchain

  • On-chain reputation tracking system
  • Skill endorsements from peers
  • Achievement badges and credentials
  • Authorized issuer management

4. Builder Teams

  • Form collaborative teams for projects
  • Custom reward share distribution
  • Automatic payment splitting
  • Track team statistics and earnings

5. Builder Escrow

  • Milestone-based payment security
  • Client approval workflow
  • Dispute resolution system
  • Protection for both parties

πŸ’‘ Why Use BuildProof?

  • Stay Safe: Avoid scam contracts and malicious code
  • Save Money: Don't lose funds to poorly written contracts
  • Quick Analysis: Get results in seconds, not hours
  • Easy to Use: Just paste an address - no technical knowledge required
  • Always Free: Complete security analysis at no cost

🎯 **Perfect Fo this set of users **

  • Crypto Investors: Verify tokens before buying
  • DeFi Users: Check protocols before depositing funds
  • NFT Collectors: Analyze NFT contracts before minting
  • Developers: Quick security audits during development
  • Anyone: Who wants to stay safe in crypto

πŸš€ Quick Start

🌐 Use Online (Easiest)

Just visit our website and start verifying contracts immediately - no installation required!

πŸ’» Run Locally

Want to run BuildProof on your own computer? Here's how:

  1. Download the code:
git clone https://github.com/Thedongraphix/BuildProof.git
cd BuildProof
  1. Install requirements:
npm install
  1. Start the app:
npm run dev
  1. Open in browser: Go to http://localhost:3000 and start verifying contracts!

πŸ“ Project Structure

BuildProof/
β”œβ”€β”€ contracts/              # Smart contracts (Solidity)
β”‚   β”œβ”€β”€ BuilderBounty.sol   # Bounty management system
β”‚   β”œβ”€β”€ BuilderReputation.sol # Reputation tracking
β”‚   β”œβ”€β”€ BuilderTeams.sol    # Team collaboration
β”‚   β”œβ”€β”€ BuilderEscrow.sol   # Milestone escrow
β”‚   β”œβ”€β”€ ContractRegistry.sol # Contract registry
β”‚   └── Counter.sol         # Example contract
β”œβ”€β”€ src/                    # Next.js frontend application
β”‚   β”œβ”€β”€ app/               # App Router pages and layouts
β”‚   β”‚   β”œβ”€β”€ globals.css    # Global styles and theme
β”‚   β”‚   β”œβ”€β”€ layout.tsx     # Root layout component
β”‚   β”‚   └── page.tsx       # Homepage component
β”‚   β”œβ”€β”€ components/        # Reusable UI components
β”‚   β”‚   └── ui/           # shadcn/ui component library
β”‚   └── lib/              # Utility functions and helpers
β”œβ”€β”€ test/                  # Smart contract tests
β”œβ”€β”€ script/               # Deployment and utility scripts
β”œβ”€β”€ lib/                  # Foundry dependencies (git submodules)
β”‚   β”œβ”€β”€ forge-std/        # Foundry standard library
β”‚   └── openzeppelin-contracts/ # OpenZeppelin contracts
β”œβ”€β”€ .github/workflows/    # CI/CD pipeline configuration
β”œβ”€β”€ foundry.toml         # Foundry configuration
β”œβ”€β”€ tailwind.config.ts   # Tailwind CSS configuration
└── package.json         # Node.js dependencies and scripts

πŸ› οΈ Development Commands

Smart Contract Development

# Compile contracts
forge build

# Run tests
forge test

# Run tests with detailed output
forge test -vvv

# Generate gas report
forge test --gas-report

# Check code coverage
forge coverage

# Format code
forge fmt

# Deploy to local network
forge script script/Deploy.s.sol --rpc-url http://localhost:8545 --broadcast

# Deploy to testnet
forge script script/Deploy.s.sol --rpc-url $SEPOLIA_RPC_URL --broadcast --verify

Frontend Development

# Start development server
npm run dev

# Build for production
npm run build

# Start production server
npm run start

# Run linter
npm run lint

🎨 Design System

Color Palette

  • Primary: Blue (#3B82F6) - Used for primary actions and highlights
  • Background: Dark Navy (#0A0F1C) - Main background color
  • Surface: Gray-900 with transparency - Card and component backgrounds
  • Text: Light colors with proper contrast ratios for accessibility

Typography

  • Font Family: Geist Sans & Geist Mono (optimized for web)
  • Scale: Responsive typography scale following modern design principles

Components

  • Buttons: Multiple variants with hover states and animations
  • Cards: Glass-morphism effect with backdrop blur
  • Navigation: Sticky header with smooth transitions

πŸ”§ Configuration

Environment Variables

Create a .env file in the root directory:

# RPC URLs
MAINNET_RPC_URL=https://mainnet.infura.io/v3/YOUR_INFURA_KEY
SEPOLIA_RPC_URL=https://sepolia.infura.io/v3/YOUR_INFURA_KEY
POLYGON_RPC_URL=https://polygon-mainnet.infura.io/v3/YOUR_INFURA_KEY
ARBITRUM_RPC_URL=https://arbitrum-mainnet.infura.io/v3/YOUR_INFURA_KEY

# Explorer API Keys
ETHERSCAN_API_KEY=your_etherscan_api_key
POLYGONSCAN_API_KEY=your_polygonscan_api_key
ARBISCAN_API_KEY=your_arbiscan_api_key

# Private Keys (DO NOT COMMIT REAL KEYS)
PRIVATE_KEY=your_private_key_here
DEPLOYER_PRIVATE_KEY=your_deployer_private_key_here

Network Configuration

The project supports multiple networks out of the box:

  • Local: Anvil (development)
  • Testnet: Sepolia, Goerli
  • Mainnet: Ethereum, Polygon, Arbitrum

πŸ§ͺ Testing

Smart Contract Tests

# Run all tests
forge test

# Run specific test file
forge test --match-path test/Counter.t.sol

# Run with gas reporting
forge test --gas-report

# Run with coverage
forge coverage --report lcov

Frontend Tests

# Run Jest tests (when configured)
npm test

# Run E2E tests (when configured)
npm run test:e2e

πŸš€ Deployment

Deploy to Celo Sepolia Testnet

Step 1: Add Celo Sepolia to MetaMask

Network Name: Celo Sepolia Testnet
RPC URL: https://1rpc.io/celo/sepolia
Chain ID: 11142220
Currency: CELO
Explorer: https://celo-sepolia.blockscout.com

Step 2: Get Test Tokens

Step 3: Configure Private Key

# Edit .env file
nano .env

# Add your private key (without 0x prefix)
PRIVATE_KEY=your_private_key_here

Step 4: Install Dependencies

forge install
npm install

Step 5: Compile & Test

forge build
forge test

Step 6: Deploy

# Method 1: Using forge script (recommended for complex deployments)
forge script script/DeployCelo.s.sol --rpc-url celo-sepolia --broadcast

# Method 2: Using forge create (simpler, direct deployment)
forge create --rpc-url celo-sepolia --private-key $PRIVATE_KEY src/contracts/Counter.sol:Counter

Step 7: Interact with Deployed Contract

# Read contract state
cast call YOUR_CONTRACT_ADDRESS "number()" --rpc-url celo-sepolia

# Write to contract
cast send YOUR_CONTRACT_ADDRESS "increment()" --rpc-url celo-sepolia --private-key $PRIVATE_KEY

Step 8: Connect Frontend

npm run dev
# Open http://localhost:3000
# Connect wallet and select Celo Sepolia

Local Deployment

# Start Anvil
anvil

# Deploy contracts
forge script script/Deploy.s.sol --rpc-url http://localhost:8545 --broadcast

Production Deployment

Smart Contracts

  • Use multi-signature wallets for contract ownership
  • Implement timelock contracts for critical functions
  • Conduct thorough security audits before mainnet deployment

Frontend

  • Deploy to Vercel, Netlify, or similar platforms
  • Configure environment variables in deployment platform
  • Set up custom domain and SSL certificates

πŸ›‘οΈ Security

Best Practices Implemented

  • OpenZeppelin Standards: Using battle-tested contract libraries
  • Static Analysis: Integrated Slither analysis in CI/CD
  • Access Control: Proper role-based access control patterns
  • Input Validation: Comprehensive input sanitization
  • Reentrancy Protection: Guards against common attack vectors

Security Checklist

  • All contracts audited by security professionals
  • Multi-signature wallet implementation for admin functions
  • Timelock contracts for critical operations
  • Bug bounty program established
  • Emergency pause mechanisms implemented

🀝 Contributing

We welcome contributions from the community! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes: Follow the coding standards and add tests
  4. Commit your changes: Use conventional commit messages
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request: Provide a clear description of your changes

Development Standards

  • Write comprehensive tests for all new features
  • Follow Solidity and TypeScript best practices
  • Ensure all CI/CD checks pass
  • Update documentation for any API changes

πŸ“š Resources

Documentation

Community

  • Discord Server - Join our developer community
  • Twitter - Follow for updates and announcements
  • Blog - Technical articles and tutorials

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • OpenZeppelin for providing secure smart contract standards
  • Foundry team for the excellent development framework
  • Next.js team for the powerful React framework
  • Tailwind CSS for the utility-first CSS framework
  • Radix UI for accessible component primitives

Built with ❀️ by the BuildProof team

GitHub β€’ Documentation β€’ Community β€’ Contributing