Chainvoice is a decentralized invoicing platform that enables secure, transparent, and tamper‑proof invoice creation, management, and payments on blockchain. Powered by Ethereum-compatible smart contracts, Chainvoice automates payment flows and reduces reliance on intermediaries.
- Overview
- Features
- Project Structure
- Getting Started
- Frontend Setup
- Smart Contract Testing
- Deploy to Ethereum Classic
- Environment Variables
- Community and Support
Chainvoice transforms traditional invoicing by leveraging blockchain technology to create a trustless, automated payment system. Users can create invoices, manage payments, and track transaction history with complete transparency and security.
- Decentralized Invoice Creation - Create and manage invoices on-chain
- Multi-Token Support - Pay using native currency or ERC-20 tokens
- Immutable Records - Verifiable transaction history and status tracking
- Treasury Management - Built-in fee management for platform sustainability
- Privacy Protection - Encrypted invoice data with access control
- User-Friendly Interface - Intuitive web application with wallet integration
Chainvoice/
├── frontend/ # Web application (UI/UX, wallet integration)
├── contracts/ # Solidity smart contracts (core invoicing logic)
├── docs/ # Documentation and guides
└── README.md # This file
- Fork the repository
- Clone your fork
git clone https://github.com/yourusername/Chainvoice.git
cd Chainvoice
-
Navigate to frontend directory
cd frontend -
Install dependencies
npm install -
Start development server
npm run dev -
Open application Navigate to
http://localhost:5173
in your browser
Prerequisites: Foundry must be installed
-
Navigate to contracts directory
cd contracts -
Run test suite
forge test -
Run tests with verbosity (optional)
forge test -vvv
- Foundry installed
- Wallet funded with ETC
- ETC RPC URL (e.g., Rivet, Ankr, Chainstack)
-
Configure environment variables
cp contracts/.env.example contracts/.env
Edit contracts/.env with your actual values -
Compile contracts
cd contracts
forge build -
Load environment variables
source .env -
Deploy to Ethereum Classic
forge create contracts/src/Chainvoice.sol:Chainvoice --rpc-url $ETC_RPC_URL --private-key $PRIVATE_KEY --broadcast -
Configure frontend
cp frontend/.env.example frontend/.env
Edit frontend/.env and set:
VITE_CONTRACT_ADDRESS=your_deployed_contract_address_here -
Restart frontend development server
cd frontend
npm run dev
VITE_CONTRACT_ADDRESS=your_deployed_contract_address_here
VITE_CHAIN_ID=61
VITE_RPC_URL=your_etc_rpc_url_here
PRIVATE_KEY=your_private_key_here
ETC_RPC_URL=your_etc_rpc_endpoint_here
ETHERSCAN_API_KEY=your_etherscan_api_key_here
⚠️ Security Note: Never commit.env
files to version control. Keep your private keys secure.
Join our community for support, updates, and discussions:
- Telegram - t.me/StabilityNexus
- Discord - discord.gg/YzDKeEfWtS
- X (Twitter) - @StabilityNexus
- Medium - news.stability.nexus
- LinkedIn - linkedin.com/company/stability-nexus
- YouTube - youtube.com/@StabilityNexus
We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.
Built with ❤️ by Stability Nexus