Skip to content

The web 3.0 (that came from Ethereum, IPFS and TheGraph) is replacing the web 2.0, and Web3Updater will put it also on OS/app updates! As Web3Updater can be used in any product to manage updates (such as Electron apps), it also uses itself to update itself (meta-language).

Notifications You must be signed in to change notification settings

Plasmmer/Web3Updater

Repository files navigation

Web3Updater

Imagine Windows Update, but for the Web 3.0 and for any app/CLI program/OS.

Why IPFS?

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.

Why blockchain?

To use a public ledger to validate decentralized DNS/domains.

Why Ethereum?

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.

How it works

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

Questions? Suggestions?

Feel free to open an issue, here. Pull requests are also welcome <3

Powered by the amazing:

  • 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)

About

The web 3.0 (that came from Ethereum, IPFS and TheGraph) is replacing the web 2.0, and Web3Updater will put it also on OS/app updates! As Web3Updater can be used in any product to manage updates (such as Electron apps), it also uses itself to update itself (meta-language).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages