{"id":31287473,"url":"https://github.com/fabricioricard/bigchain","last_synced_at":"2025-09-24T11:04:03.451Z","repository":{"id":315990334,"uuid":"1060913370","full_name":"fabricioricard/BIGchain","owner":"fabricioricard","description":"🚀 Revolutionary blockchain that rewards users for sharing bandwidth. First proof-of-bandwidth cryptocurrency with P2P mining and real-time rewards.","archived":false,"fork":false,"pushed_at":"2025-09-22T02:32:52.000Z","size":4764,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-22T04:23:48.239Z","etag":null,"topics":["bandwidth-sharing","bigchain","bigfoot-connect","blockchain","cryptocurrency","decentralized","distributed-computing","earning","golang","internet-sharing","mining","p2p-network","peer-to-peer","proof-of-work","rewards"],"latest_commit_sha":null,"homepage":"https://bigfootconnect.tech/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabricioricard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-20T21:09:39.000Z","updated_at":"2025-09-22T02:37:17.000Z","dependencies_parsed_at":"2025-09-22T04:23:50.188Z","dependency_job_id":"ade8353f-39c0-48ab-be48-26253c7644ba","html_url":"https://github.com/fabricioricard/BIGchain","commit_stats":null,"previous_names":["fabricioricard/bigchain"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/fabricioricard/BIGchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricioricard%2FBIGchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricioricard%2FBIGchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricioricard%2FBIGchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricioricard%2FBIGchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabricioricard","download_url":"https://codeload.github.com/fabricioricard/BIGchain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricioricard%2FBIGchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276737524,"owners_count":25695700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-24T02:00:09.776Z","response_time":97,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bandwidth-sharing","bigchain","bigfoot-connect","blockchain","cryptocurrency","decentralized","distributed-computing","earning","golang","internet-sharing","mining","p2p-network","peer-to-peer","proof-of-work","rewards"],"created_at":"2025-09-24T11:01:41.363Z","updated_at":"2025-09-24T11:04:03.442Z","avatar_url":"https://github.com/fabricioricard.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 BIGchain - BIGFOOT Connect\n\n**A first-of-its-kind blockchain that rewards users for sharing bandwidth!**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Go Version](https://img.shields.io/badge/Go-1.21+-blue.svg)](https://golang.org/dl/)\n[![Build Status](https://img.shields.io/badge/Build-Passing-brightgreen.svg)](#)\n\n## 🌟 What is BIGchain?\n\nBIGchain is a revolutionary blockchain that combines traditional cryptocurrency mining with **real bandwidth sharing rewards**. Users earn BIG tokens by:\n\n- 🏗️ **Mining blocks** (Proof-of-Work) - Earn 50 BIG per block\n- 📡 **Sharing bandwidth** - Earn BIG based on data served to peers\n- 🌐 **Running P2P nodes** - Support the decentralized network\n\n## ✨ Key Features\n\n### 🎯 Unique Innovation\n- **Proof-of-Bandwidth**: First blockchain to reward bandwidth sharing\n- **Dual Rewards**: Mining + bandwidth sharing = double income\n- **Real P2P Network**: True decentralized architecture\n\n### 🔧 Technical Features\n- **Pure Go Implementation**: No external dependencies\n- **Thread-Safe**: Concurrent mining and P2P operations\n- **REST API**: HTTP endpoints for external integration\n- **Auto-Discovery**: Peer discovery and blockchain sync\n- **Real-Time Monitoring**: Live bandwidth statistics\n\n### 💰 Economic Model\n- **Mining Reward**: 50 BIG per block\n- **Bandwidth Reward**: Dynamic based on MB/s × time × peers\n- **Address Format**: All addresses start with \"big\"\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Go 1.21 or higher\n- Open ports 8333 (P2P) and 8334 (Bandwidth)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/fabricioricard/BIGchain.git\ncd BIGchain\n\n# Build\ngo build -o bigchain .\n\n# Run (Windows)\n.\\bigchain.exe\n\n# Run (Linux/Mac)\n./bigchain\n```\n\n### Using Make (Optional)\n```bash\nmake build    # Build the binary\nmake run      # Run directly\nmake help     # See all commands\n```\n\n## 📖 Usage\n\n### Interactive Commands\n\nOnce BIGchain is running, you can use these commands:\n\n- `status` - Show blockchain status\n- `balance` - Show your BIG token balance\n- `send` - Send BIG tokens to another address\n- `connect` - Connect to a peer node\n- `peers` - Show connected peers count\n- `bandwidth` - Show bandwidth sharing statistics\n- `help` - Show all available commands\n- `quit` - Exit the node\n\n### Example Session\n\n```\nBIGchain\u003e status\n=== BIGchain Status ===\nBlocks: 5\nDifficulty: 4\nIs Mining: true\nNode ID: big3fb0ee00539b9dd1ccb412a685150aa2\nLatest Block Hash: abc123...\n\nBIGchain\u003e balance\nYour balance: 150.75 BIG\n\nBIGchain\u003e send\nEnter recipient address: big456...\nEnter amount: 25.0\nTransaction sent: 25.00 BIG to big456...\n```\n\n## 🌐 Network Ports\n\nBIGchain uses three ports:\n\n- **8333**: P2P network communication\n- **8334**: Bandwidth sharing HTTP server\n- **8080**: REST API (optional)\n\n### Bandwidth Sharing\n\nYour node automatically serves data on port 8334:\n\n- `http://your-ip:8334/status` - Node statistics\n- `http://your-ip:8334/data/{id}` - Serve data to peers\n- `POST http://your-ip:8334/upload` - Upload data for caching\n\n## 🔗 REST API\n\nBIGchain provides a REST API for external integration:\n\n### Endpoints\n\n- `GET /status` - Blockchain and network status\n- `GET /balance?address=big123...` - Check balance\n- `POST /transaction` - Submit new transaction\n- `GET /mine?miner=big123...` - Mine a block\n- `GET /chain` - Get full blockchain\n- `GET /peers` - Get peer count\n- `POST /connect` - Connect to peer\n\n### Example API Usage\n\n```bash\n# Check status\ncurl http://localhost:8080/status\n\n# Check balance\ncurl http://localhost:8080/balance?address=big123...\n\n# Send transaction\ncurl -X POST http://localhost:8080/transaction \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"from_address\": \"big123...\",\n    \"to_address\": \"big456...\",\n    \"amount\": 10.5,\n    \"tx_type\": \"transfer\"\n  }'\n```\n\n## 💻 Architecture\n\n### Core Components\n\n- **blockchain.go** - Main blockchain logic and mining\n- **block.go** - Block structure and hashing\n- **transaction.go** - Transaction handling\n- **bandwidth.go** - Bandwidth proof system\n- **p2p.go** - Peer-to-peer network\n- **bandwidth_monitor.go** - Real bandwidth monitoring\n- **network.go** - REST API server\n- **utils.go** - Utilities and persistence\n\n### Data Flow\n\n```\nUser Activity → Bandwidth Monitor → Proof Generation → Blockchain → P2P Broadcast → Network Rewards\n```\n\n## 🏗️ Building from Source\n\n### Standard Build\n```bash\ngo build -o bigchain .\n```\n\n### Production Build\n```bash\nmake build-prod\n```\n\n### Multi-Platform Build\n```bash\nmake build-all\n```\n\nThis creates binaries for:\n- Linux (AMD64, ARM64)\n- Windows (AMD64)\n- macOS (AMD64, ARM64)\n\n## 🐳 Docker Support\n\n### Build Docker Image\n```bash\nmake docker\n```\n\n### Run with Docker\n```bash\nmake docker-run\n```\n\n### Manual Docker Commands\n```bash\ndocker build -t bigchain .\ndocker run -p 8333:8333 -p 8334:8334 -p 8080:8080 bigchain\n```\n\n## 🤝 How to Earn BIG Tokens\n\n### 1. Automatic Mining\n- Keep your node running\n- Automatic mining when transactions are available\n- Earn 50 BIG per block mined\n\n### 2. Bandwidth Sharing\n- Your node serves data to other peers\n- Automatic bandwidth monitoring\n- Rewards based on: `bandwidth × time × peers_served`\n\n### 3. Network Participation\n- Connect to other nodes\n- Help maintain network decentralization\n- Receive transaction fees (future feature)\n\n## 🌍 Connecting to the Network\n\n### Join Existing Network\n```\nBIGchain\u003e connect\nEnter peer address (host:port): 192.168.1.100:8333\n```\n\n### Share Your Node\nGive others your address: `YOUR_IP:8333`\n\n### Network Growth\nAs more nodes join:\n- Network becomes more decentralized\n- More bandwidth sharing opportunities\n- Higher earning potential\n\n## 🔧 Configuration\n\n### Environment Variables\n- `BIG_DIFFICULTY` - Mining difficulty (default: 4)\n- `BIG_REWARD` - Mining reward (default: 50)\n- `BIG_P2P_PORT` - P2P port (default: 8333)\n- `BIG_BANDWIDTH_PORT` - Bandwidth port (default: 8334)\n\n### Config File\nCreate `config.json`:\n```json\n{\n  \"mining_reward\": 50.0,\n  \"difficulty\": 4,\n  \"bandwidth_multiplier\": 0.1,\n  \"p2p_port\": 8333,\n  \"bandwidth_port\": 8334\n}\n```\n\n## 🧪 Testing\n\n### Run Tests\n```bash\nmake test\n```\n\n### Benchmark\n```bash\nmake benchmark\n```\n\n### Test Bandwidth Sharing\n```bash\ncurl http://localhost:8334/status\ncurl http://localhost:8334/data/test123\n```\n\n## 📊 Monitoring\n\n### Real-Time Stats\n- Use `bandwidth` command for live statistics\n- Monitor `/status` endpoint\n- Check blockchain growth with `status` command\n\n### Logging\nBIGchain provides detailed logging:\n- P2P connections\n- Mining progress\n- Bandwidth proofs\n- Transaction processing\n\n## 🛡️ Security\n\n### Best Practices\n- Run on dedicated ports\n- Use firewall rules for protection\n- Regular blockchain backups\n- Monitor peer connections\n\n### Backup Your Data\n```bash\n# Manual backup\ncp blockchain.json backup_$(date +%Y%m%d).json\n\n# Automated backup (Linux/Mac)\nmake backup\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md).\n\n### Development Setup\n```bash\nmake setup    # Install dependencies and run checks\nmake format   # Format code\nmake lint     # Run linter\nmake test     # Run tests\n```\n\n### Reporting Issues\nPlease use GitHub Issues to report bugs or request features.\n\n## 📄 License\n\nBIGchain is released under the MIT License. See [LICENSE](LICENSE) file for details.\n\n## 🎯 Roadmap\n\n### Phase 1 (Current)\n- ✅ Core blockchain functionality\n- ✅ P2P network\n- ✅ Bandwidth sharing rewards\n- ✅ Mining system\n\n### Phase 2 (Coming Soon)\n- 🔄 Enhanced peer discovery\n- 🔄 Mobile wallet app\n- 🔄 Block explorer web interface\n- 🔄 Smart contracts (basic)\n\n### Phase 3 (Future)\n- 📋 Advanced smart contracts\n- 📋 Decentralized storage\n- 📋 Cross-chain bridges\n- 📋 Governance system\n\n## 🆘 Support\n\n- **Documentation**: Check this README and inline code comments\n- **Issues**: [GitHub Issues](https://github.com/fabricioricard/BIGchain/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/fabricioricard/BIGchain/discussions)\n\n## 🏆 Why BIGchain?\n\nBIGchain isn't just another cryptocurrency - it's a **new economic model** that:\n\n1. **Rewards Real Value**: Bandwidth sharing provides actual utility\n2. **Encourages Participation**: Multiple ways to earn rewards\n3. **Builds Community**: P2P network grows through cooperation\n4. **Innovates Technology**: First proof-of-bandwidth blockchain\n\n**Join the revolution! Start earning BIG tokens today!** 🚀\n\n---\n\n**Made with ❤️ for the decentralized future**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabricioricard%2Fbigchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabricioricard%2Fbigchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabricioricard%2Fbigchain/lists"}