A basic decentralized, local-first, peer-to-peer todo application built with libp2p, IPFS, and OrbitDB. This app demonstrates how modern Web3 technologies can create truly decentralized applications that work entirely in the browser.
See docs/WEBAUTHN_VARSIG_CHANGES.md for the WebAuthn varsig/PRF flow details and sequence diagrams.
Unstoppable - This application demonstrates technology that continues operating even when cloud providers fail, governments attempt censorship, or software vendors shut down their services. Your data and functionality remain under your control, distributed across a resilient peer-to-peer network or self-hosted signaling or relay nodes. Imagine traditional software which was sold on a compact disc in the past - once installed it could never be stopped. A USP which should convince every client around the globe.
This project includes an enhanced P2P relay server that facilitates peer discovery and connectivity for the simple-todo application. For details about the relay server features, see Relay Configuration Documentation.
Run the simple-todo via a public relay
copy .env.example .env
npm install
npm run dev
Run a local relay like so:
# open a second terminal and do
cd relay
npm install
# Start the relay server
npm start
# Or with verbose logging
npm run start:verbose
# Then copy the resulting websocket multiaddress from the relay console and put it into .env (make sure it contains a /ws/p2p)
# For example like so:
VITE_RELAY_BOOTSTRAP_ADDR_DEV=/ip4/127.0.0.1/tcp/4002/ws/p2p/12D3KooWE69FHwkL63Hf9bLDZP244HgyGwmmLj3vfFeyFWCkfeqS
For detailed relay server configuration options and HTTP API endpoints, see Relay Configuration Documentation.
The tutorial covers:
# Clone repository
git clone https://github.com/NiKrause/simple-todo.git
# checkout /simplified-tutorial branch
git checkout simplified-tutorial
# run (like this you don't need to cut and paste anything)
./tutorial-01.js
This project is open source and available under the LICENSE file.