Imagine Windows Update, but for the Web 3.0 and for any app/CLI program/OS.
To not depend on a failure-prone centralized server. The true focus isn't about censorship concerns, but mainly because an OS or app that handles user's digital money shouldn't be vulnerable to individuals.
To use a public ledger to validate decentralized DNS/domains.
Because it is the pioneer on smart-contracts and fostering innovation (such as the eco-friendly PoS, token-burning and sharding) while choosing decentralization/security over speed.
First, W3U takes use of ENS (Ethereum Name System) to store file/folder content hashes (known on IPFS as CIDs - Content IDs), so updates are secured by the Ethereum blockchain; in the next step, these updates are downloaded directly from IPFS (not a blockchain, but a distributed file-sharing protocol like BitTorrent) and patched, and also seeded to other neighboor users (P2P, faster updates).
It can not only be itself updating itself (meta language), but can also be initiated in your projects (soon); for now only CLI apps, but soon we will enable new creative uses such as an NPM package to decentralizedly update Electron apps.
Every time you wish to add an new update: edit files such as update.sh and new_patch_at.json adding commands and increasing numbers and... ...more instructions coming.
Web3Updater is developed with focus on being:
- Modular
- Agnostic
- Portable
- Scalable
- Distributed
- Decentralized
Feel free to open an issue, here. Pull requests are also welcome <3
- jq (for parsing .JSON data)
- IPFS (for serving P2P files, running as daemon)
- ENS - Ethereum Name System (for powering decentralized domains/DNS)
- Ethereum (for powering ENS on its smart-contract platform)
- ethereal (for being a CLI to interact with Ethereum and ENS)
- git (for versioning, de-duplicing and patching update data)