π Discovery Page Browse and filter products by categories |
β Create Product Upload your digital goods to the blockchain |
ChainMart is a revolutionary Web3 digital marketplace that combines the power of blockchain technology with a user-friendly mobile experience. Built with Flutter for cross-platform compatibility and powered by Ethereum smart contracts, ChainMart enables users to:
- ποΈ Buy & Sell Digital Goods - Trade NFTs, digital art, documents, and more
- π Blockchain Verification - Every transaction is recorded on the Ethereum blockchain
- π° Crypto Payments - Secure payments with ETH on Sepolia testnet
- π± Mobile-First Design - Native mobile experience on Android and iOS
- π¨ Rich Media Support - Upload images, documents, audio, and video files
- π·οΈ Category Filtering - Organize products by Art, 3D, Crypto, Collections, and more
- Flutter 3.8+ - Cross-platform mobile development framework
- Dart - Programming language for Flutter
- Provider - State management solution
- Reown AppKit - Web3 wallet connectivity
- Flutter Staggered Grid View - Beautiful grid layouts
- URL Launcher - External link handling
- Image Picker - Camera and gallery access
- File Picker - Multi-format file selection
- Shared Preferences - Local data storage
- HTTP - API communication
- Random Avatar - User avatar generation
- Solidity 0.8.20 - Smart contract programming language
- Hardhat - Ethereum development environment
- Ethers.js v6 - Ethereum JavaScript library
- OpenZeppelin - Security-audited contract libraries
- Web3dart - Dart Ethereum integration
- Ethereum Sepolia Testnet - Test network for development
- IPFS (Pinata) - Decentralized file storage
- Alchemy - Ethereum node provider
- Etherscan API - Blockchain explorer integration
- Hardhat Testing - Smart contract testing framework
- Chai - Assertion library for testing
- Flutter Test - Widget and integration testing
- Hardhat Gas Reporter - Gas usage analysis
- Solidity Coverage - Code coverage analysis
ChainMart/
βββ π± Mobile App (Flutter)
β βββ lib/
β β βββ main.dart # App entry point
β β βββ models/
β β β βββ products_model.dart # Product data model
β β βββ pages/
β β β βββ splash_page.dart # App splash screen
β β β βββ discovery_page.dart # Product browsing
β β β βββ create_product_page.dart # Product creation
β β β βββ products_details_page.dart # Product details
β β β βββ account_profile_page.dart # User profile
β β βββ services/
β β β βββ contract_factory_services.dart # Blockchain integration
β β βββ widgets/
β β β βββ custom_products_widget.dart # Product cards
β β β βββ purchase_success_dialog.dart # Success dialogs
β β β βββ ... # Other UI components
β β βββ utils/
β β βββ constant.dart # App constants
β βββ assets/images/ # App images and logos
β βββ android/ # Android-specific files
β βββ ios/ # iOS-specific files
β βββ pubspec.yaml # Flutter dependencies
β
βββ βοΈ Blockchain (Hardhat)
β βββ contracts/
β β βββ Kellzon.sol # Main marketplace contract
β βββ scripts/
β β βββ deploy_contract.js # Contract deployment
β β βββ Deploy.js # Deployment utilities
β β βββ ... # Other scripts
β βββ test/
β β βββ Kellzon.test.js # Smart contract tests
β βββ hardhat.config.js # Hardhat configuration
β βββ package.json # Node.js dependencies
β βββ ...
β
βββ π Documentation
βββ README.md # This file
βββ coverage/ # Test coverage reports
βββ artifacts/ # Compiled contracts
- Product Listing - Create and list digital products with rich metadata
- Category Management - Organize products by Art, 3D, Crypto, Collections
- Search & Filter - Find products by category and availability
- Product Details - Comprehensive product information and media
- Transaction History - View all purchases and sales
- Blockchain Explorer - Direct links to Etherscan transactions
- Wallet Connection - Connect with MetaMask and other Web3 wallets
- Smart Contract Interaction - Direct blockchain communication
- Transaction Tracking - Real-time transaction status updates
- Gas Optimization - Efficient contract calls and state management
- Event Listening - React to blockchain events in real-time
- Multi-Format Support - Images, documents, audio, video files
- IPFS Storage - Decentralized file storage and retrieval
- File Preview - Visual previews for different file types
- Batch Upload - Upload multiple files simultaneously
- File Validation - Size and format validation
- Material Design - Modern, intuitive UI following Material guidelines
- Dark/Light Themes - Customizable appearance
- Responsive Layout - Optimized for all screen sizes
- Smooth Animations - Fluid transitions and interactions
- Loading States - Clear feedback during operations
- Flutter SDK 3.8.0 or higher
- Dart SDK 2.19.0 or higher
- Node.js v16+ with npm/yarn
- Android Studio / VS Code with Flutter extensions
- MetaMask or other Web3 wallet
-
Clone the repository
git clone https://github.com/your-username/chainmart.git cd chainmart -
Install Flutter dependencies
flutter pub get
-
Configure environment variables
# Create .env file with your API keys PINATA_API_KEY=your_pinata_api_key PINATA_SECRET_API_KEY=your_pinata_secret ALCHEMY_API_URL=your_alchemy_sepolia_url -
Run the app
# For debug mode flutter run # For release mode flutter run --release
-
Install Node.js dependencies
npm install # or yarn install -
Configure Hardhat
# Create .env file with your keys PRIVATE_KEY_METAMASK=your_private_key ALCHEMY_API_URL=your_alchemy_sepolia_url ETHERSCAN_API_KEY=your_etherscan_api_key -
Compile contracts
npx hardhat compile
-
Run tests
npx hardhat test -
Deploy to Sepolia
npx hardhat run scripts/deploy_contract.js --network sepolia
# Run all tests
npx hardhat test
# Run with coverage
npx hardhat coverage
# Run gas reporter
npx hardhat test --reporter gas# Run unit tests
flutter test
# Run integration tests
flutter test integration_test/
# Run with coverage
flutter test --coverageAndroid:
# Debug APK
flutter build apk --debug
# Release APK
flutter build apk --release
# App Bundle for Play Store
flutter build appbundle --releaseiOS:
# iOS build
flutter build ios --release
# Create IPA for App Store
flutter build ipa --releaseSepolia Testnet:
# Deploy contract
npx hardhat run scripts/deploy_contract.js --network sepolia
# Verify on Etherscan
npx hardhat verify --network sepolia DEPLOYED_CONTRACT_ADDRESS- Smart Contract Auditing - Comprehensive testing and security checks
- Access Control - Owner-only functions for sensitive operations
- Input Validation - Robust validation on all user inputs
- Transaction Verification - Multi-layer transaction validation
- Secure Storage - Encrypted local storage for sensitive data
- Network Security - HTTPS/WSS for all network communications
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your 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.
Ezequiel Silva
- πΌ LinkedIn: Kell Silva
- π Specializing in: Web3 Development, Mobile App Development, Blockchain Solutions
- π§ Contact: Connect via LinkedIn for collaboration opportunities
- Flutter Team for the amazing cross-platform framework
- Ethereum Foundation for the blockchain infrastructure
- Hardhat Team for the excellent development tools
- OpenZeppelin for security-audited smart contracts
- Pinata for IPFS storage solutions
- Alchemy for reliable Ethereum node services
- Multi-chain Support - Expand to Polygon, BSC, and other chains
- NFT Integration - Native NFT minting and trading
- Social Features - User profiles, reviews, and ratings
- Advanced Analytics - Market insights and sales analytics
- Mobile Wallet - Built-in wallet functionality
- DeFi Integration - Staking, lending, and yield farming
- Desktop App - Flutter desktop application
- Web Version - Progressive web app deployment
Made with β€οΈ by Ezequiel Silva
Empowering the future of decentralized commerce


