Skip to content

Commit 978d0bc

Browse files
authored
docs(docs): Add Document Sync protocol specification to the architecture docs (#602)
* First commit of expanded architecture documentation * docs(docs): remove stuff we dont want in git * fix(docs): glossary in a table * fix(docs): spelling * fix(docs): fix athena references * fix(docs): .pages * fix(docs): markdown and spelling * fix(docs): spelling * fix(docs): Doc build fix * fix(docs): update the ADRs * fix(docs): Cross document references * fix(docs): Add link anchors * fix(docs): mdlint * fix(docs): incorporate suggestions from previous PR * docs(docs): Working on preliminary protocol spec for document exchange * docs(docs): wip wire level protocol specification * docs(docs): use blake3 instead of SHA256 * docs(docs): WIP message formats * docs(docs): cleaning up message formats * fix(docs): WIP updating message formats * fix(docs): wip * docs(docs): wip * fix(docs): wip msg format cleanup * docs(docs): cleaned up common msg * fix(docs): further common msg cleanups * fix(docs): wip * fix(docs): add dynamic depth selection * docs(docs): WIP add some diagrams * fix(docs): Add icons to all pages for better consistency when viewing. Restrict CID to SHA2-256 * fix(docs): Cleanup subscribe/unsubscribe sequence diagram * fix(docs): Add publishing pre-condition to assist with doc dissemination * docs(docs): wip fixing syn * fix(docs): .syn wip * fix(docs): WIP on .prv * fix(docs): wip * fix(docs): wip * fix(docs): nested lists * docs(docs): more protocl spec refinement * fix(docs): cleanup pass * fix(docs): spec poc finalized * fix(docs): spelling and markdown formats * fix(docs): Fix indentation issues caused when we moved to 4 indents for sub lists * docs(docs): first draft runtime extension design spec * docs(docs): Add runtime extension specification for doc sync protocol * docs(docs): add steady state sync correction * fix(docs): Clean up markdown format * fix(docs): markdown issues * fix(hermes): clarify bit ordering in traversal and left/right semantics * fix(docs): markdown issues * fix(docs): Try and fix wit markdown link
1 parent 5d21de9 commit 978d0bc

File tree

25 files changed

+1979
-85
lines changed

25 files changed

+1979
-85
lines changed

.config/dictionaries/project.dic

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ asat
44
asyncio
55
auditability
66
autocheckpoint
7+
autonumber
78
backpressure
89
bech
910
bkioshn
@@ -12,6 +13,8 @@ blosc
1213
bmac
1314
bootstrapper
1415
brotli
16+
bucketization
17+
bursty
1518
cabi
1619
canvaskit
1720
cardano
@@ -20,9 +23,12 @@ cbor
2023
cdylib
2124
chaincode
2225
childs
26+
chksum
2327
chrono
2428
cids
29+
cidv
2530
ciphertext
31+
ciphertexts
2632
codegen
2733
codepoints
2834
COEP
@@ -38,11 +44,14 @@ dashmap
3844
datelike
3945
dcbor
4046
Devnet
47+
DHKEM
48+
Diffie
4149
dotenv
4250
dotenvy
4351
dotstar
4452
earthfile
4553
Embedder
54+
enumerants
4655
EROFS
4756
errno
4857
fadvise
@@ -67,31 +76,43 @@ gossipsub
6776
happ
6877
hmod
6978
hostnames
79+
hpke
7080
httpmock
81+
IBLT
7182
idents
7283
ifmt
7384
instanciate
7485
ipfs
7586
jsonschema
7687
justfile
88+
keepalives
7789
libp
7890
libsqlite
7991
libtest
8092
linkat
8193
lintfix
94+
ltbase
8295
mapref
96+
mathrm
8397
mdlint
98+
Merkle
8499
metno
85100
mgrybyk
86101
minicbor
87102
miniprotocol
88103
mithril
104+
Mitzenmacher
89105
mkcron
90106
mkdelay
91107
mkdirat
108+
multicodec
109+
multihash
110+
multihashes
111+
Namespacing
92112
nanos
93113
newtype
94114
nextest
115+
nodesep
95116
nolfs
96117
nomutex
97118
nostack
@@ -107,6 +128,8 @@ pollables
107128
pollout
108129
pozhylenkov
109130
pread
131+
precheck
132+
prechecks
110133
preopened
111134
preopens
112135
preprod
@@ -116,11 +139,16 @@ pubkey
116139
pwrite
117140
qmark
118141
rafal
142+
rankdir
143+
ranksep
119144
readlinkat
145+
reentrancy
120146
removedir
121147
renameat
122148
reqwest
123149
rfind
150+
Rmax
151+
Rmin
124152
rngs
125153
rollouts
126154
rusqlite
@@ -142,6 +170,7 @@ subsec
142170
symlinkat
143171
syscall
144172
tailscale
173+
Tdiff
145174
testcov
146175
testdocs
147176
testunit
@@ -150,19 +179,23 @@ thollander
150179
threadsafe
151180
timelike
152181
tinygo
182+
Tmax
153183
toolsets
184+
Tquiet
154185
traceback
155186
traitreg
156187
tweakable
157188
txns
158189
txos
159190
unfinalized
160191
unlinkat
192+
unsub
161193
usvg
162194
utimensat
163195
utoipa
164196
utxo
165197
uuidv
198+
varint
166199
wasi
167200
wasip
168201
wasmparser
@@ -171,6 +204,7 @@ wasmtime
171204
webasm
172205
webpki
173206
witx
207+
Wpin
174208
xprivate
175209
xprv
176210
xpub

.markdownlint.jsonc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
// MD007/ul-indent - Unordered list indentation
2828
"MD007": {
2929
// Spaces for indent
30-
"indent": 2,
30+
"indent": 4,
3131
// Whether to indent the first level of the list
3232
"start_indented": false,
3333
// Spaces for first level indent (when start_indented is set)
34-
"start_indent": 2
34+
"start_indent": 4
3535
},
3636
// MD009/no-trailing-spaces - Trailing spaces
3737
"MD009": {

CONTRIBUTING.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
First off, thanks for taking the time to contribute! ❤️
44

55
* [Contributing to Hermes](#contributing-to-hermes)
6-
* [Code of Conduct](#code-of-conduct)
7-
* [I Have a Question](#i-have-a-question)
8-
* [I Want To Contribute](#i-want-to-contribute)
9-
* [Reporting Bugs](#reporting-bugs)
10-
* [Before Submitting a Bug Report](#before-submitting-a-bug-report)
11-
* [How Do I Submit a Good Bug Report?](#how-do-i-submit-a-good-bug-report)
12-
* [Suggesting Enhancements](#suggesting-enhancements)
13-
* [Before Submitting an Enhancement](#before-submitting-an-enhancement)
14-
* [How Do I Submit a Good Enhancement Suggestion?](#how-do-i-submit-a-good-enhancement-suggestion)
15-
* [Your First Code Contribution](#your-first-code-contribution)
16-
* [Improving The Documentation](#improving-the-documentation)
17-
* [Style guides](#style-guides)
18-
* [Rust](#rust)
19-
* [Dart](#dart)
20-
* [Flutter](#flutter)
21-
* [Commit Messages](#commit-messages)
6+
* [Code of Conduct](#code-of-conduct)
7+
* [I Have a Question](#i-have-a-question)
8+
* [I Want To Contribute](#i-want-to-contribute)
9+
* [Reporting Bugs](#reporting-bugs)
10+
* [Before Submitting a Bug Report](#before-submitting-a-bug-report)
11+
* [How Do I Submit a Good Bug Report?](#how-do-i-submit-a-good-bug-report)
12+
* [Suggesting Enhancements](#suggesting-enhancements)
13+
* [Before Submitting an Enhancement](#before-submitting-an-enhancement)
14+
* [How Do I Submit a Good Enhancement Suggestion?](#how-do-i-submit-a-good-enhancement-suggestion)
15+
* [Your First Code Contribution](#your-first-code-contribution)
16+
* [Improving The Documentation](#improving-the-documentation)
17+
* [Style guides](#style-guides)
18+
* [Rust](#rust)
19+
* [Dart](#dart)
20+
* [Flutter](#flutter)
21+
* [Commit Messages](#commit-messages)
2222

2323
All types of contributions are encouraged and valued.
2424
Please make sure to read the relevant section before making your contribution.
@@ -42,7 +42,7 @@ Before you ask a question, it is best to search for existing
4242
[Issues](https://github.com/input-output-hk/hermes/issues)
4343
that might help you.
4444
In case you have found a suitable issue and still need clarification, you can write your question
45-
[here](https://github.com/input-output-hk/hermes/discussions).
45+
[in our discussions](https://github.com/input-output-hk/hermes/discussions).
4646
It is also advisable to search the internet for answers first.
4747

4848
If you then still feel the need to ask a question and need clarification, we recommend the following:
@@ -75,11 +75,11 @@ Please complete the following steps in advance to help us fix any potential bug
7575
* Also make sure to search the internet (including Stack Overflow)
7676
to see if users outside the GitHub community have discussed the issue.
7777
* Collect information about the bug:
78-
* Stack trace (Traceback)
79-
* OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
80-
* Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
81-
* Possibly your input and the output
82-
* Can you reliably reproduce the issue?
78+
* Stack trace (Traceback)
79+
* OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
80+
* Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
81+
* Possibly your input and the output
82+
* Can you reliably reproduce the issue?
8383
And can you also reproduce it with older versions?
8484

8585
#### How Do I Submit a Good Bug Report?

dashboard/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<!-- markdownlint-disable MD029 -->
44

55
* [Dashboard](#dashboard)
6-
* [Requirements](#requirements)
7-
* [Getting Started](#getting-started)
8-
* [Bootstrapping](#bootstrapping)
9-
* [Running Tests](#running-tests)
10-
* [Working with Translations](#working-with-translations)
11-
* [Adding Strings](#adding-strings)
12-
* [Adding Supported Locales](#adding-supported-locales)
13-
* [Adding Translations](#adding-translations)
6+
* [Requirements](#requirements)
7+
* [Getting Started](#getting-started)
8+
* [Bootstrapping](#bootstrapping)
9+
* [Running Tests](#running-tests)
10+
* [Working with Translations](#working-with-translations)
11+
* [Adding Strings](#adding-strings)
12+
* [Adding Supported Locales](#adding-supported-locales)
13+
* [Adding Translations](#adding-translations)
1414

1515
## Requirements
1616

@@ -25,9 +25,9 @@
2525
* [Fvm](https://fvm.app/)
2626
* [Fastlane](https://fastlane.tools)
2727
* Flutter & Dart plugins:
28-
* [Visual Studio Code](https://flutter.dev/docs/get-started/editor?tab=vscode)
29-
* [Android Studio / IntelliJ](https://flutter.dev/docs/get-started/editor?tab=androidstudio)
30-
* [Emacs](https://docs.flutter.dev/get-started/editor?tab=emacs)
28+
* [Visual Studio Code](https://flutter.dev/docs/get-started/editor?tab=vscode)
29+
* [Android Studio / IntelliJ](https://flutter.dev/docs/get-started/editor?tab=androidstudio)
30+
* [Emacs](https://docs.flutter.dev/get-started/editor?tab=emacs)
3131

3232
❗️We recommend using **Visual Studio Code** as the **default editor** for this project.
3333

docs/FLUTTER_INTEGRATION_TEST.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
<!-- cspell: words gcloud chromedriver gradlew ptarget pdart -->
44

55
* [Flutter Integration Tests](#flutter-integration-tests)
6-
* [Requirements](#requirements)
7-
* [Run Integration Tests](#run-integration-tests)
8-
* [CI](#ci)
9-
* [View Integration Test Results](#view-integration-test-results)
10-
* [Local](#local)
11-
* [Web](#web)
12-
* [iOS](#ios)
13-
* [Run integration test in Xcode](#run-integration-test-in-xcode)
14-
* [Run integration test from command line](#run-integration-test-from-command-line)
15-
* [Android](#android)
16-
* [Run integration test in Android Studio](#run-integration-test-in-android-studio)
17-
* [Run integration test from command line](#run-integration-test-from-command-line-1)
18-
* [Run integration test in Firebase Test Lab](#run-integration-test-in-firebase-test-lab)
19-
* [Gcloud CLI](#gcloud-cli)
20-
* [Links](#links)
6+
* [Requirements](#requirements)
7+
* [Run Integration Tests](#run-integration-tests)
8+
* [CI](#ci)
9+
* [View Integration Test Results](#view-integration-test-results)
10+
* [Local](#local)
11+
* [Web](#web)
12+
* [iOS](#ios)
13+
* [Run integration test in Xcode](#run-integration-test-in-xcode)
14+
* [Run integration test from command line](#run-integration-test-from-command-line)
15+
* [Android](#android)
16+
* [Run integration test in Android Studio](#run-integration-test-in-android-studio)
17+
* [Run integration test from command line](#run-integration-test-from-command-line-1)
18+
* [Run integration test in Firebase Test Lab](#run-integration-test-in-firebase-test-lab)
19+
* [Gcloud CLI](#gcloud-cli)
20+
* [Links](#links)
2121

2222
## Requirements
2323

docs/src/architecture/08_concepts/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ arrange:
1212
- hermes_packaging_requirements
1313
- cardano_chain_follower
1414
- hermes_signing_procedure
15+
- document_sync
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
icon: material/source-branch
3+
---
4+
5+
# Cardano Chain Follower
6+
7+
Concepts and structure of the Cardano chain follower used by Hermes to read blocks and follow chain updates.
8+
9+
See also:
10+
11+
* Overview: `overview.md`
12+
* Follower instances: `follower_instances.md`
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Document Synchronization
2+
arrange:
3+
- index.md
4+
- protocol_spec.md
5+
- runtime_extension_spec.md
6+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
icon: material/sync
3+
---
4+
5+
# Document Synchronization
6+
7+
This section hosts the draft specifications for decentralized document synchronization in Hermes.
8+
9+
* Protocol: see `protocol_spec.md`.
10+
* Runtime extension (WASM API): see `runtime_extension_spec.md`.
11+
12+
Both documents are scaffolds containing section placeholders; details will be filled in progressively.

0 commit comments

Comments
 (0)