Skip to content
/ specs Public

🏅 Technical specifications for the w3up protocol stack

Notifications You must be signed in to change notification settings

storacha/specs

Repository files navigation

w3up specifications

This repository contains the specs for the w3up protocol and associated subsystems.

The implementations of these specs can be found in https://github.com/web3-storage/w3up

Overview

Stable specs

Stable specs may be improved but should not change fundamentally.

  • w3-account - let users sync and recover delegatated capabilities via a did they control.
  • w3-session - delegating capabilities to an agent via email verification magic link.
  • w3-store - storing shards of a DAGs as CARs; linking root CIDs to shards as uploads.
  • w3-filecoin - verfiably dealing uploads for commitment in filecoin storage.

Other specs

Other specs are available, maturing at rates commensurate with general interest.

  • w3-admin reliable - consumer/get, customer/get, subscription/get, admin/*

Status indicators

We use the following label system to identify the status of each spec:

  • wip A work-in-progress to describe an idea before committing to a full draft.
  • draft A draft ready for review. It should be implementable.
  • reliable A spec that has been implemented. It will change as we learn how it works in practice.
  • stable It may be improved but should not change fundamentally.
  • permanent This spec will not change.
  • deprecated This spec is no longer in use.

Nothing in this spec repository is permanent. While some of the subsystems are stable, some are still in a draft or reliable status.

Contribute

Suggestions, contributions, criticisms are welcome. Though please make sure to familiarize yourself deeply with IPFS, the models it adopts, and the principles it follows. This repository falls under the IPFS Code of Conduct.

Linting

The CI runs markdownlint via markdownlint-cli2-action with the rules in .markdownlint.jsonc. To run the linter locally you can use markdownlint-cli2 with npx markdownlint-cli2 '*.md' or install vscode-markdownlint in vscode.

Optionally prettier-vscode can also be use to format code blocks inside markdown files.

Spellcheck

The CI runs a spellcheck using md-spellcheck-action. If you want to use a word that's being flagged by the spellchecker, add it to .github/workflows/words-to-ignore.txt.

Since the spellchecker depends on GitHub Actions, the best way to run it locally is with act, a Docker-based GitHub Actions workflow runner. When you first run act, it will ask what base image to use as a default. The actions in this repo run fine with the default "medium" base image. Once act is installed, you can run the full CI suite with act pull_request. This will also run the markdown linting action described above.

About

🏅 Technical specifications for the w3up protocol stack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published