Skip to content

Repository files navigation

DSNP Specification

This repository holds the technical specification for the Decentralized Social Networking Protocol (DSNP). The current official specification can be viewed in its compiled form here. Alternatively, the latest iteration of the spec can be viewed non-formatted here. For more information about the DSNP, visit DSNP.org

Releases

Spec Site Releases

  1. Merge all changes into main and handle any updated specifications (see below).
  2. Create a GitHub Release and tag it using the following CalVer: YYYY.MM.### (where ### is the nth release in that month)

Spec Version Release & Changelog Process

  1. Update the version at the top of the Overview.md file for spec
  2. Update the releases table on the Overview.md file for spec
  3. Update the releases table on the root index.md file
  4. Use the appropriate git tag(s) for the specs [Spec]-v[Major].[Minor].[Patch]
    • DSNP: DSNP-vX.X.X
    • Activity Content ActivityContent-vX.X.X
    • DSNP on Ethereum EVM-vX.X.X
  5. Generate a GitHub Release for each spec/tag combination with the Changelog.

Note: Remember that you can link to the tag on GitHub before creating the tag.

Running Locally

Node.js 20 or later is required.

Install dependencies:

npm install
Command Description
npm run build Build the site into _site/
npm run serve Build and serve with live reload at http://localhost:8080
npm run lint Run Markdown linter and spell checker
npm run linkcheck Check all internal and external links (run after build)

Tools and frameworks used in this repo

Contributing a specification

Formatting, names, etc

  1. Use the official outline for specifications. Respect and observe good file organization practices.

  2. Spec files are written in Markdown format, and are located in the pages directory.

  3. When documenting an API, use the following table style:

    Name Description Type Required?
    fileHash a description of fileHash bytes YES
  4. Put images into the images folder and link to them using their URL in the GitHub repo.

Release process

  1. The deploy GitHub Actions workflow is triggered by tags matching the CalVer pattern YYYY.MM.###.
  2. The workflow builds the site with Eleventy (npm run build) and deploys the _site/ directory to GitHub Pages.

Releases

Packages

Used by

Contributors

Languages