A comprehensive multi-signature wallet solution built on Stellar with time-lock recovery mechanisms, featuring a full-stack application for secure digital asset management.
stellar-multisig-safe/
βββ π contracts/ # Stellar smart contracts
β βββ π soroban/ # Soroban Rust contracts
β βββ π wasm/ # Compiled WASM contracts
βββ π backend/ # Node.js API server
β βββ π src/
β βββ π tests/
β βββ π docs/
βββ π frontend/ # React frontend application
β βββ π src/
β βββ π public/
β βββ π tests/
βββ π docs/ # Project documentation
βββ π scripts/ # Development and deployment scripts
βββ π .github/ # GitHub workflows and templates
βββ π tools/ # Development tools and utilities
- Node.js 18+
- Rust 1.70+
- Docker (optional)
- Git
# Clone the repository
git clone <repository-url>
cd stellar-multisig-safe
# Install dependencies for all components
npm run install:all
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Start development environment
npm run devnpm run install:all # Install dependencies for all packages
npm run dev # Start all services in development mode
npm run build # Build all packages
npm run test # Run all tests
npm run lint # Lint all packages
npm run clean # Clean build artifactsnpm run contract:build # Build Stellar contracts
npm run contract:test # Run contract tests
npm run contract:deploy # Deploy to testnet
npm run contract:optimize # Optimize WASM contractsnpm run backend:dev # Start backend in development mode
npm run backend:build # Build backend for production
npm run backend:test # Run backend tests
npm run backend:lint # Lint backend codenpm run frontend:dev # Start frontend in development mode
npm run frontend:build # Build frontend for production
npm run frontend:test # Run frontend tests
npm run frontend:lint # Lint frontend code# Install Rust and Soroban CLI
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install soroban-cli
# Install Node.js dependencies
npm run install:all
# Start local Stellar network
docker run -d --name stellar -p 8000:8000 stellar/quickstart:latest- Smart Contracts: Modify Rust contracts in
contracts/soroban/ - Backend API: Update Node.js server in
backend/src/ - Frontend UI: Update React components in
frontend/src/
# Run all tests
npm run test
# Run specific package tests
npm run contract:test
npm run backend:test
npm run frontend:testWe welcome contributions! Please read our Contributing Guide for details on:
- Code of Conduct
- Development workflow
- Pull request process
- Issue reporting guidelines
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes following our coding standards
- Test your changes thoroughly
- Commit your changes with descriptive messages
- Push to your fork and submit a Pull Request
We provide templates for different types of issues:
- Bug Report:
bug_report.md - Feature Request:
feature_request.md - Security Issue:
security_issue.md - Documentation:
documentation.md
- Backlog: Features and improvements to be prioritized
- In Progress: Currently being worked on
- Review: Ready for code review
- Done: Completed and merged
bug: Bug reports and fixesenhancement: New features and improvementsdocumentation: Documentation updatesgood first issue: Good for new contributorshelp wanted: Community help neededpriority/high: High priority issuessecurity: Security-related issues
- MultiSig Contract: Core multi-signature logic
- TimeLock Contract: Time-delayed recovery mechanisms
- Recovery Contract: Emergency recovery procedures
- RESTful API: Endpoints for wallet operations
- Stellar Integration: Contract interaction and transaction handling
- Database: PostgreSQL for persistent data storage
- Authentication: JWT-based user authentication
- Modern UI: Responsive design with Material-UI
- Wallet Interface: Multi-signature transaction management
- Real-time Updates: WebSocket integration for live updates
- Security: Secure key management and transaction signing
- Rust: Contract development language
- Soroban: Stellar smart contract platform
- WASM: WebAssembly compilation target
- Node.js: Runtime environment
- Express.js: Web framework
- TypeScript: Type-safe JavaScript
- PostgreSQL: Database
- Prisma: ORM
- Stellar SDK: Stellar blockchain integration
- React: UI framework
- TypeScript: Type-safe development
- Material-UI: Component library
- React Router: Navigation
- Axios: HTTP client
- React Query: Data fetching and caching
- ESLint: Code linting
- Prettier: Code formatting
- Jest: Testing framework
- Docker: Containerization
- GitHub Actions: CI/CD
- Multi-signature: No single point of failure
- Time-locks: Prevents rapid unauthorized changes
- Key Management: Secure key storage and handling
- Audit Trail: Complete transaction history
- Input Validation: Comprehensive input sanitization
- API Documentation
- Smart Contract Guide
- Frontend Development
- Deployment Guide
- Security Best Practices
This project is licensed under the MIT License - see the LICENSE file for details.
- Stellar Development Foundation for the Soroban platform
- OpenZeppelin for security best practices
- The multi-sig community for inspiration and feedback
- Discord: Join our community
- GitHub Issues: Report issues
- Documentation: Read the docs
Built with β€οΈ for the Stellar ecosystem