Skip to content

Manwe-777/tool-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Tool Db

A Peer-to-Peer Decentralized Database

CI License Node.js

📖 Documentation · 🚀 Live Demo · 💬 Report Bug


💡 Philosophy

ToolDb is designed as open, permissionless infrastructure.

It enables peer-to-peer data exchange without centralized custody, accounts, or trust anchors. Identity is cryptographic, data ownership is local-first, and connectivity emerges from the network itself.

This project is intentionally permissive. Commercial use, private deployments, and derivative systems are welcome. ontributions, attribution, and community participation are very appreciated but not required.

ToolDb favors adoption, interoperability, and resilience


🔐 Cryptographically Secure
Public/private key authentication

🌐 Fully Decentralized
No central point of failure

Real-time Updates
Subscribe to live data changes

📴 Offline First
Works without connectivity

📦 Key-Value Storage
Document-based data model

🔄 Built-in CRDTs
Conflict-free data types

🎮 Try it now!

Launch the Live Chat Demo →

Experience real-time P2P messaging in your browser


🚀 Quick Start

npm install tool-db
import { ToolDb, ToolDbWebrtc } from "tool-db";

const db = new ToolDb({
  networkAdapter: ToolDbWebrtc,
});

// Put and get data
await db.putData("foo-key", "bar");
const value = await db.getData("foo-key");

// Subscribe to real-time updates
db.subscribeData("foo-key", (data) => {
  console.log("Data updated:", data);
});

📖 Read the full documentation →


📦 Packages

Package Description
tool-db Core database functionality and API
ecdsa-user ECDSA-based user authentication and cryptographic operations
web3-user Web3/Ethereum wallet-based user authentication
leveldb-store LevelDB storage adapter for Node.js
indexeddb-store IndexedDB storage adapter for browsers
redis-store Redis storage adapter for server deployments
websocket-network WebSocket network adapter
webrtc-network WebRTC network adapter for browser-to-browser connections
hybrid-network Hybrid network adapter combining multiple transports

🧪 Development

npm run demo           # Run the demo
npm test               # Run all tests

📄 License

Apache-2.0 © Manuel Etchegaray


📖 Read the full documentation →

CRDTs • User Authentication • Namespaces • Network Adapters • And much more!