Skip to content

oeo/canary-sol

Repository files navigation

Canary Protocol

Decentralized dead man's switch system for autonomous information disclosure.

Overview

Canary Protocol enables creation of cryptographic dead man's switches that automatically release encrypted information if the creator fails to check in. The protocol uses economic incentives (bounties) to ensure reliable triggering without requiring trusted parties.

Key Features

  • Encryption & Key Splitting: AES-256 encryption with Shamir's Secret Sharing
  • IPFS Integration: Decentralized storage with self-hosted nodes
  • Economic Incentives: Bounties ensure reliable triggering
  • Docker Support: Complete portable environment with all dependencies
  • Multi-Network: Works on Ethereum, Polygon, Arbitrum, and more
  • Gas Optimized: Minimal on-chain storage, IPFS for data
  • Comprehensive Testing: 67+ automated tests covering security, edge cases, state consistency, fragment reconstruction, and integration workflows
  • Browser Interface: Web-based encryption with progress tracking, IPFS integration, bounty recommendations, and form auto-population

Quick Start

Option 1: Docker (Recommended)

  1. Start all services including IPFS:
chmod +x start-docker.sh
./start-docker.sh start
  1. Access the application:
  1. For fault-tolerant rebuilds:
./start-docker.sh rebuild

See Docker Documentation for details.

Option 2: Manual Setup

  1. Install dependencies:
npm install
  1. Compile contracts:
npm run compile
  1. Run test suite:
npm test
  1. Deploy to testnet:
npm run deploy --network sepolia

Documentation

Contract Addresses

Mainnet

  • CanaryFactory: [TO BE DEPLOYED]

Sepolia Testnet

  • CanaryFactory: 0xf1d344d3d2E81ebdFd309952F052Ba1af65b9028 (v1 - without IPFS CID)
  • CanaryFactory: [TO BE DEPLOYED] (v2 - with IPFS CID storage)

Note: The v1 contracts don't store IPFS CIDs. Use v2 contracts for complete functionality.

License

No rights reserved. This protocol is dedicated to the public domain.

About

Decentralized dead man's switch system for autonomous information disclosure.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published