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
- Merge all changes into
main
and handle any updated specifications (see below). - Create a GitHub Release and tag it using the following CalVer:
YYYY.MM.###
(where###
is the nth release in that month)
- Update the version at the top of the
Overview.md
file for spec - Update the releases table on the
Overview.md
file for spec - Update the releases table on the root
index.md
file - 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
- DSNP:
- 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.
To build the spec generator locally, install mdBook and link checker. The link checker will run during build process and throw warnings for any broken internal or external links.
cargo install mdbook mdbook-linkcheck mdbook-external-links
To run the spec generator locally and preview the formatted spec website, use the following commands:
npm install
npm run build
To run the spec generator locally and also actively build after each change, use the following command:
npm run serve
Once the local server is running, the spec will automatically open in the browser. A live-reloading preview of the spec can also be viewed at http://localhost:3000.
-
Use the official outline for specifications. Respect and observe good file organization practices.
-
Spec files are written in Markdown format, and are located in the pages directory.
-
When documenting an API, use the following table style:
Name Description Type Required? fileHash
a description of fileHash
bytes YES -
Put images into the
images
folder and link to them using their URL in the GitHub repo.
-
Deployment step of the GitHub actions workflow is triggered by tags fitting the regex:
^\d{8}\.\d+
-
Trigger will deploy the latest successful artifact from main branch.