CHATLI is a decentralized chat application built on blockchain technology. It allows users to securely communicate with each other using smart contracts on the Ethereum network.
- Decentralized messaging system
- User authentication using Ethereum addresses
- Friend list management
- Secure and encrypted communication
- Solidity: For smart contract development
- Hardhat: Ethereum development environment
- Next.js: React framework for production
- Ethers.js: Ethereum wallet implementation
- Web3Modal: For connecting to Ethereum wallets
- Next.js
- Node.js (v14.0.0 or later)
- npm (v6.0.0 or later)
- MetaMask or any Ethereum wallet
-
Clone the repository:
-
Install dependencies:
npm install -
Create a
.envfile in the root directory and add your configuration:NEXT_PUBLIC_POLYGON_Amoy_RPC=https://rpc-Amoy.maticvigil.com/
CHATLI uses Hardhat for Ethereum development. Here are some useful commands:
npx hardhat help
npx hardhat test
REPORT_GAS=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.jsTo deploy the CHATLI smart contract to a local network:
-
Start a local Hardhat node:
npx hardhat node -
In a new terminal, deploy the contract:
npx hardhat run scripts/deploy.js --network localhost
-
Start the development server:
npm run dev -
Open http://localhost:3000 in your browser.
-
Connect your MetaMask wallet to CHATLI.
- Create a CHATLI account using your Ethereum address.
- Add friends to your CHATLI network using their Ethereum addresses.
- Start chatting securely on the blockchain!
Run the CHATLI test suite with:
npx hardhat test
To deploy CHATLI to the Polygon Amoy testnet:
- Ensure your
.envfile is configured with the correct RPC URL and private key. - Run:
npx hardhat run scripts/deploy.js --network polygon_Amoy
CHATLI was developed by a team of four dedicated individuals. We appreciate their hard work and contributions to this project:
- Gbolahan Akande
- Ernest Ukoge
- Chukwudi Nwaneri
CHATLI is a prototype application for educational purposes. Do not use it to transmit sensitive information without proper security audits.