No description
Find a file
2025-12-08 22:09:56 +03:00
.github workflows: upgrade gh-push-to-neofs to fix upload issue 2025-07-14 14:39:43 +03:00
00-intro Update intro copy 2021-05-12 15:59:52 +03:00
01-arch arch: Add erasure coding section 2025-11-26 17:12:26 +03:00
02-innerring Reorder chapters to improve understanding 2021-05-13 10:47:02 +03:00
03-storage 03-storage: add quotas and load reports as of v0.50.0 2025-12-08 20:41:49 +03:00
04-gates [#81] Fix typo in secret_access_key 2022-09-07 11:14:13 +03:00
06-blockchain 08-incentive: actualize payment details to v0.50.0 state 2025-12-08 20:31:32 +03:00
07-reputation [#71] English Check 2022-05-18 11:12:46 +03:00
08-incentive 03-storage: add quotas and load reports as of v0.50.0 2025-12-08 20:41:49 +03:00
20-api-v2 api: update to v2.20.0 2025-11-13 18:28:00 +03:00
95-glossary *: deal with main/test/fs chains 2024-11-19 16:20:45 +03:00
templates templates: update to gomarkdoc v1.1.0 2024-01-31 19:36:55 +03:00
.gitignore Add make targets for puml and svg conversion to pdf 2020-10-20 16:09:04 +03:00
CHANGELOG.md empty changelog 2021-10-25 16:10:23 +03:00
Dockerfile Dockerfile: Drop maintainer that cannot maintain it 2024-02-01 20:19:57 +03:00
LICENSE Add LICENSE file 2020-07-03 13:31:52 +03:00
Makefile Makefile: adapt to post-v0.19.1 contract changes 2024-01-31 19:36:55 +03:00
neofs-cdn.yaml [nspcc-dev/nspcc-infra#497]: added neofs-cdn.yaml (#70) 2022-03-10 13:23:51 +03:00
README.md [#71] English Check 2022-05-18 11:12:46 +03:00

NeoFS

NeoFS Technical Specification


Document format

This document uses a mix of Markdown and LaTeX in pandoc flavors. Target output formats are PDF and HTML.

For non-generated plain text we follow single line paragraph style.

Build instructions (manual build)

Install pandoc and LaTeX base. Please see Dockerfile for the detailed list of what you might need.

After pandoc and LaTeX base are available, you can simply run make, which will generate the specification paper in pdf and html.

Build using docker

The easiest way to build a specification document is to use Docker. Just add docker/ to any Makefile target to run it inside a container having all required tools already available.

  • Compile the specification paper pdf using make docker/pdf
  • Output will be generated as output/neofs-spec-<revision>.pdf

You can build docker image locally with make image command.

How to contribute

If you know NeoFS technology and want to contribute, feel free to directly submit a Pull Request with the desired changes.

Initially, the idea is to create a broad and complete initial version of the document, which will be polished in the future.

Adding pictures

Pictures should be placed in pic directory of the corresponding section. Vector formats are preferred and strongly recommended. Please always provide the source file for the picture to allow future edits.

Expected formats:

When referencing a picture in the document text, please omit file extension. Most appropriate format will be used depending on the document output format.

Example:

![Architecture overview](pic/overview-sc2)

To render all PlantUML files to SVG run make puml2svg or make docker/puml2svg

To convert all SVG files to PDF make svg2pdf or make docker/svg2pdf

PlantUML

Place PlantUML files under pic/ directory of the corresponding section and name it with .puml or .plantuml file extension. It will be automatically rendered to SVG format by puml2svg make target.

Draw.io

Draw.io diagrams must be exported to SVG format and saved under pic/ directory of corresponding section. To avoid text rendering errors, please follow this guide. Don't enable Embed Images checkbox, or raster image version will be saved in PDF instead of vector image version.

Please palace the source .drawio file in the same directory with exported SVG to allow future edits.

License

License: CC BY-NC-SA 4.0

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Pandoc/LaTeX template Eisvogel is licensed by BSD 3-Clause License.