DecenTrack is a fully decentralized uptime monitoring platform that leverages Ethereum smart contracts, validator-based reporting, and real-world browser checks to ensure accurate uptime data from across the globe. All uptime data and validator interactions are recorded immutably on the blockchain.
- π Decentralized Uptime Monitoring β Validators check website availability from their browser and log results on-chain.
- π Ethereum Smart Contracts β Uptime data and validator interactions are stored trustlessly on Sepolia testnet.
- πΌ Wallet Integration β Users can interact via their Ethereum wallets using Web3Modal.
- π Validator Reward System β Validators are incentivized based on uptime check submissions.
- πͺ Modern UI β Built with Tailwind CSS and Shadcn components for beautiful and accessible interfaces.
- π§βπ» Secure Auth β Clerk is used for role-based user authentication.
| Layer | Technologies |
|---|---|
| Frontend | Next.js, React 19, Tailwind CSS, Shadcn/UI, Radix UI, Clerk |
| Backend | Node.js, Express (for relayers or backend logic if used) |
| Blockchain | Ethereum, Sepolia Testnet, Solidity, Hardhat, Ethers.js |
| WebSockets | ws library for real-time communication between validators and the monitoring network |
| Email & SMS | Nodemailer and Twilio used for optional notifications |
- Written in Solidity
- Compiled and deployed using Hardhat
- Verified with Hardhat Verify
- Gas usage measured via hardhat-gas-reporter
- Type bindings generated using TypeChain
- Coverage measured using solidity-coverage
registerWebsite(string url)removeWebsite(uint id)logUptime(uint id, uint latency, bool status)withdrawEarnings()
- The project is deployed on the Sepolia testnet for development.
- Interactions use Ethers.js v6 and Hardhat Toolbox.
- Supports validator registration and rewards distribution in ETH.
- Next.js 15.3.0
- React 19
- Tailwind CSS 4.1.4
- tailwindcss-animate for animations
- Web3Modal for wallet integration
- Lucide React for clean and modern icons
- @clerk/nextjs for user sign-in, sign-up, and session management.
Fully customizable and accessible components using:
alert-dialog.tsxalert.tsxbadge.tsxbutton.tsxcard.tsxdialog.tsxdropdown-menu.tsxinput.tsxlabel.tsxloading-spinner.tsxselect.tsxskeleton.tsxtable.tsxtooltip.tsx
These components are styled with Tailwind, using clsx and class-variance-authority for conditional styles.
@clerk/nextjs,next,react,tailwindcss,web3modal,ethers,twilio,nodemailer,ws
@radix-ui/react-*,lucide-react,clsx,class-variance-authority,tailwind-merge,tailwindcss-animate
@types/*for TypeScript support across all used packagestypescriptv5+
- Hardhat Toolbox for local blockchain development
- TypeChain for type-safe contract calls
- dotenv for managing environment variables
- Chai for contract test assertions
- ESLint for code quality
- Solidity Coverage for test coverage reporting
- Validators connect via WebSocket to listen for uptime check tasks.
- Upon receiving a task, they verify website status and respond with latency and result.
- Uses
wslibrary for managing WebSocket connections.
/contracts β Solidity smart contracts
/pages β Next.js frontend routes
/components/ui β Shadcn/Radix UI components
/context β Wallet + Clerk Auth context
/scripts β Hardhat deploy + command scripts
/validator β Uptime checkers run as validators
/hub β Manages validator pool + assignments- Smart contracts deployed via Hardhat to Sepolia.
- Frontend hosted on Vercel or similar platforms.
- Environment variables managed securely using
.envanddotenv.
git clone https://github.com/your-username/DecenTrack.git
cd DecenTracknpm install -g pnpm
pnpm installcp .env.example .envpnpm hardhat compilepnpm hardhat run scripts/deploy.ts --network sepoliaYou can interact with your contract manually using the Hardhat console:
pnpm hardhat console --network sepoliascripts/allCommands.jsStart all services (hub, validator, and Next.js site):
pnpm run startAllOr to run the Next.js frontend alone:
pnpm dev-
Hardhat Toolbox for compiling, testing, and deploying.
-
TypeChain for type-safe contract interaction.
-
Solidity Coverage to monitor test coverage.
-
hardhat-gas-reporter to track gas usage.
- Ethereum.org β Blockchain platform
- Sepolia Testnet β For smart contract testing
- Hardhat β Ethereum development environment
- Ethers.js β Interact with Ethereum
- Web3Modal β Wallet connector
- Clerk.dev β Authentication system
- Twilio β SMS Notifications
- Nodemailer β Email alerts
- Shadcn UI β UI components
- Radix UI β Headless UI primitives
- Tailwind CSS β Styling utility framework
- Vercel β Hosting platform for frontend