A blockchain-based platform for verifiable journalism that leverages decentralized technology to combat misinformation and enable transparent news verification.
Project Status: π§ Active Development - Core functionality implemented, some features in progress
- About The Project
- Key Features
- Technology Stack
- Getting Started
- Smart Contracts
- Project Structure
- Development Status
- Contributing
- License
Gono Moncho addresses critical challenges in modern journalism:
- Censorship Resistance: Decentralized publishing protects journalists from government oppression
- Misinformation Combat: Community-driven verification reduces fake news spread
- Transparent Credibility: On-chain voting and verification create accountable journalism
- Permanent Storage: Integration with Arweave ensures news cannot be deleted or altered
- Dual-Token Economics: NEWS (governance) + CRED (reputation) tokens
- DAO Governance: Community-driven decision making through NewsDAO
- Role-Based Access: Reporters, Analyzers, and Verifiers with distinct responsibilities
- Decentralized Storage: Permanent article storage via Arweave
- Multi-Layer Verification: Community voting and stake-weighted credibility scoring
gono-moncho/
βββ backend/ # Solidity smart contracts (Foundry)
β βββ src/ # Smart contract source code
β βββ test/ # Contract tests
β βββ script/ # Deployment scripts
βββ frontend/ # Next.js Web3 DApp
βββ src/ # Frontend source code
βββ public/ # Static assets
- Node.js 18+ installed
- MetaMask browser extension
- Git
git clone https://github.com/ByzentineGenerals/Gono-Moncho.git
cd Gono-Moncho/frontend
npm installnpm run devAccess at: http://localhost:3000
Add Polygon Amoy Testnet:
- Network Name:
Polygon Amoy Testnet - RPC URL:
https://polygon-amoy.infura.io/v3/b0f04bd3f6a949e59cd25a1bc364d588 - Chain ID:
80002 - Currency Symbol:
MATIC - Block Explorer:
https://amoy.polygonscan.com/
Get Test MATIC: Visit https://faucet.polygon.technology/
All operations are FREE in testing mode!
- Navigate to Reporter Portal (top navigation)
- Fill in credentials form
- Select Role: Reporter
- Click Register as Reporter β FREE (no MetaMask prompt)
- Click Demo Helper button (bottom-right floating button)
- Click "Auto-Verify Me as Reporter"
- Approve MetaMask transaction (FREE on testnet)
- Wait for confirmation β Status shows "VERIFIED" β
- Go to Upload Content tab
- Paste article JSON:
{
"title": "Blockchain Revolutionizes Journalism",
"content": "Decentralized platforms are changing how news is verified...",
"author": "Your Name",
"date": "2025-11-25"
}- Click Upload JSON to Arweave
- Copy generated Arweave hash
- Go to Publish Article tab
- Paste Arweave hash
- Click Publish to Blockchain
- Approve MetaMask (FREE testnet transaction)
- Article published! π
- Navigate to Home page
- Click Vote on any article
- Choose Support (π) or Against (π)
- Enter vote weight (1-10)
- Approve MetaMask (FREE testnet)
- Vote recorded on-chain!
Opening (30 sec):
"Gono Moncho solves fake news through blockchain transparency and permanent storage. Reporters verify credentials, articles are stored permanently on Arweave, and community governance determines credibility through on-chain voting."
Live Demo (3.5 min): Follow the 5-step flow above
Technical Highlights (1 min):
- β Role-Based Access Control (Reporter/Analyzer/Verifier)
- β Permanent Storage on Arweave
- β Scalable on Polygon L2
- β DAO Governance with Quadratic Voting
- β Testing Mode for Easy Demos
Closing (30 sec):
"Production-ready architecture with clear migration from testing to mainnet. All smart contracts deployed, frontend responsive, end-to-end features working."
| Contract | Address |
|---|---|
| NEWS Token | 0xd3091433da9a925c38682b28ffbae975ed06617a |
| CRED Token | 0x95e29667e07767bd019b4a79f3979a416c30f573 |
| NewsStaking | 0x58321d7cb23248ca3f39f01e4480f4a8b166bfec |
| NewsDAO | 0xccf0212b8c443ee148a36106f109b7b3c5250f51 |
| Verification | 0xe5672b7bf38e11d81feb07d77a35cf5499a0adeb |
| ArweaveStorage | 0xc7311a7c71647edd9556938ad6f22afe4dc01a66 |
| DelegationRegistry | 0xea67b90c7d566ae98c4906fa8962844fb424e4f0 |
| ReporterRegistry | Deploy before demo (see below) |
cd backend
export PRIVATE_KEY=your_private_key_here
forge script script/DeployReporterRegistry.s.sol \
--rpc-url https://polygon-amoy.infura.io/v3/b0f04bd3f6a949e59cd25a1bc364d588 \
--broadcast -vvvv- Go to https://remix.ethereum.org
- Copy
backend/src/verification/ReporterRegistry.sol - Compile with Solidity 0.8.24
- Deploy with:
_newsToken:0xd3091433da9a925c38682b28ffbae975ed06617ainitialOwner: Your wallet address
- Copy deployed address
Edit frontend/src/lib/contracts.ts:
ReporterRegistry: '0xYOUR_DEPLOYED_ADDRESS',- Wallet Integration: MetaMask connection with Polygon Amoy testnet support
- Article Browsing: View and filter news articles by category
- Reporter Portal: Registration interface for journalists and contributors
- Smart Contract Infrastructure: Deployed token contracts and governance system
- Testing Mode: Free registration and demonstration capabilities
- Reporter Verification: Full verification workflow with stake requirements
- On-Chain Publishing: Complete article publishing to blockchain
- Voting Mechanism: Community credibility scoring for articles
- DAO Proposals: Full governance proposal creation and voting interface
- Arweave Integration: Production-ready permanent storage implementation
- Zero-Knowledge Proofs: Anonymous journalist identity protection
- AI Analysis Integration: Automated credibility assessment
- Mobile Application: Native mobile app for iOS and Android
- Advanced Analytics: Comprehensive reporting dashboard
Blockchain & Smart Contracts
- Solidity 0.8.24
- Foundry (development framework)
- OpenZeppelin (security-audited contracts)
- Polygon Amoy Testnet (Layer 2 scaling)
Frontend
- Next.js 15 (React 19)
- TypeScript
- TailwindCSS
- Wagmi + Viem (Web3 integration)
- MetaMask connectivity
Storage
- Arweave (permanent decentralized storage)
Try the platform now: https://gono-moncho.vercel.app
Note: Connect MetaMask to Polygon Amoy Testnet (Chain ID: 80002) to interact with the platform.
Ensure you have the following installed:
For smart contract development:
- Foundry toolkit (Installation Guide)
-
Clone the repository
git clone https://github.com/ByzentineGenerals/Gono-Moncho.git cd Gono-Moncho -
Install frontend dependencies
cd frontend npm install -
Start the development server
npm run dev
-
Access the application
Open http://localhost:3000 in your browser
To interact with the platform, add the Polygon Amoy Testnet to MetaMask:
- Network Name: Polygon Amoy Testnet
- RPC URL:
https://polygon-amoy.infura.io/v3/b0f04bd3f6a949e59cd25a1bc364d588 - Chain ID:
80002 - Currency Symbol:
MATIC - Block Explorer:
https://amoy.polygonscan.com/
Get Test MATIC: Visit the Polygon Faucet to receive testnet tokens for transaction fees.
| Contract | Address | Description |
|---|---|---|
| NEWS Token | 0xd3091433da9a925c38682b28ffbae975ed06617a |
Governance & staking token |
| CRED Token | 0x95e29667e07767bd019b4a79f3979a416c30f573 |
Non-transferable reputation token |
| NewsStaking | 0x58321d7cb23248ca3f39f01e4480f4a8b166bfec |
Token staking & rewards |
| NewsDAO | 0xccf0212b8c443ee148a36106f109b7b3c5250f51 |
DAO governance with quadratic voting |
| Verification | 0xe5672b7bf38e11d81feb07d77a35cf5499a0adeb |
Article verification system |
| ArweaveStorage | 0xc7311a7c71647edd9556938ad6f22afe4dc01a66 |
Permanent storage integration |
| DelegationRegistry | 0xea67b90c7d566ae98c4906fa8962844fb424e4f0 |
Liquid democracy & vote delegation |
Token Layer
NEWS.sol: ERC-20 governance token with minting controlsCRED.sol: Non-transferable reputation token for contributors
Governance Layer
NewsDAO.sol: Decentralized autonomous organization with proposal systemDelegationRegistry.sol: Vote delegation and liquid democracyMonchoGovernor.sol: OpenZeppelin-based governor implementation
Verification Layer
Verification.sol: Multi-layer article verification protocolReporterRegistry.sol: Role-based access control (Reporter/Analyzer/Verifier)SANUB.sol: Sybil resistance mechanism
Storage & Integration
ArweaveStorage.sol: Permanent article storage via ArweaveAIOracle.sol: AI-powered credibility analysis integration
cd backend
# Compile contracts
forge build
# Run test suite
forge test
# Run tests with verbose output
forge test -vvv
# Deploy contracts
forge script script/Deploy.s.sol --rpc-url $RPC_URL --broadcastgono-moncho/
βββ backend/ # Smart Contract Layer
β βββ src/
β β βββ tokens/ # NEWS & CRED token contracts
β β βββ governance/ # NewsDAO & voting mechanisms
β β βββ verification/ # Reporter registry & verification
β β βββ staking/ # Token staking system
β β βββ external/ # Arweave & AI oracle integrations
β βββ test/ # Contract test suites
β βββ script/ # Deployment scripts
β
βββ frontend/ # Web Application
βββ src/
β βββ app/ # Next.js app router pages
β βββ components/ # React components
β βββ context/ # State management
β βββ lib/ # Contract ABIs & utilities
β βββ Hooks/ # Custom React hooks
βββ public/ # Static assets
- Smart contract architecture design
- Token contracts (NEWS & CRED)
- Basic DAO governance structure
- Frontend scaffolding with Next.js
- MetaMask integration
- Contract deployment to Polygon Amoy testnet
- Reporter registration interface
- Complete verification workflow
- On-chain article publishing
- Community voting mechanism
- Stake-weighted credibility scoring
- DAO proposal creation & voting interface
- Zero-Knowledge proof integration
- AI credibility analysis
- Production Arweave integration
- Mobile responsive optimization
- Comprehensive security auditing
The following limitations exist in the current implementation:
- Testing Mode Active: Some operations bypass stake requirements for demonstration purposes
- Mock Arweave: Currently using mock API endpoints; production Arweave integration planned
- Limited Verification: Simplified verification workflow for testing; full multi-layer system in development
- UI Polish: Some components require additional refinement and error handling
- ReporterRegistry: Requires deployment for full reporter functionality
We're actively working to address these limitations and welcome community contributions.
We welcome contributions from the community! This project was built for the Build4Democracy hackathon and continues to evolve.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Smart contract optimization and security improvements
- Frontend UI/UX enhancements
- Documentation and tutorials
- Bug reports and testing
- Feature development from the roadmap
-
Follow existing code style and conventions
-
Write clear commit messages
-
Add tests for new features
-
Update documentation as needed
-
Stage: Beta / Demo Ready
-
Smart Contracts: Deployed on Polygon Amoy
-
Frontend: Fully functional
-
Testing Mode: Active
-
Production Ready: Architecture complete, migration path documented
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the Build4Democracy hackathon
- Powered by Polygon Layer 2 scaling solution
- Permanent storage via Arweave protocol
- Smart contract security by OpenZeppelin libraries
- Web3 integration with Wagmi and Viem
- GitHub Repository: ByzentineGenerals/Gono-Moncho
- Report Issues: GitHub Issues
- Polygon Amoy Explorer: View Contracts
Note: This project is under active development. Features and functionality may change as we continue to build and improve the platform. Always refer to the latest version in the main branch for the most up-to-date information.