Skip to content

Commit 2c4957f

Browse files
authored
Merge pull request #217 from zigbee-alliance/deployment-diagram
Deployment diagram
2 parents 040914a + d2ec2bc commit 2c4957f

5 files changed

+27
-4
lines changed

README-DEV.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ Please take into account the following when sending a PR:
163163
- build proto (for example `starport chain build`). Fix compilation errors if any.
164164
- **Note1**: colons (`:`) are part of subject-id in PKI module, but colons are not allowed in gRPC REST URLs by default.
165165
`allow_colon_final_segments=true` should be used as a workaround.
166-
So, make sure that `runtime.AssumeColonVerbOpt(true)` in `/x/pki/types/query.pb.gw.go`.
166+
So, make sure that `runtime.AssumeColonVerbOpt(false)` in `/x/pki/types/query.pb.gw.go`.
167167
It's usually sufficient to revert the generated changes in `/x/pki/types/query.pb.gw.go`.
168168
- **Note2**: starport will include all default cosmos modules (even if we don't use them from DCL) into `docs/static/openapi.yaml`.
169169
Revert the default cosmos modules keeping only DCL ones.
@@ -186,7 +186,7 @@ Please take into account the following when sending a PR:
186186
- Every time `.proto` files change, re-generate the code (for example `starport chain build`) and fix compilation errors if any.
187187
- **Note1**: colons (`:`) are part of subject-id in PKI module, but colons are not allowed in gRPC REST URLs by default.
188188
`allow_colon_final_segments=true` should be used as a workaround.
189-
So, make sure that `runtime.AssumeColonVerbOpt(true)` in `/x/pki/types/query.pb.gw.go`.
189+
So, make sure that `runtime.AssumeColonVerbOpt(false)` in `/x/pki/types/query.pb.gw.go`.
190190
It's usually sufficient to revert the generated changes in `/x/pki/types/query.pb.gw.go`.
191191
- **Note2**: starport will include all default cosmos modules (even if we don't use them from DCL) into `docs/static/openapi.yaml`.
192192
Revert the default cosmos modules keeping only DCL ones.

README.md

+23-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,26 @@ In order to send write transactions to the ledger you need:
3939
### Pool of Nodes
4040
- A network of Tendermint-based validator nodes (Validators and Observers) maintaining the ledger.
4141
- Every validator node (`dcld` binary) runs DC Ledger application code (based on Cosmos SDK) implementing the use cases.
42-
- See the proposed deployment in [deployment](docs/deployment.png).
42+
- See the proposed deployment in [deployment](docs/deployment.png) and [deployment-detailed](docs/deployment-detailed.png).
43+
44+
### Node Types
45+
- **Full Node**: contains a full replication of data (ledger, state, etc.):
46+
- **Validator Node (VN)**: a full node participating in consensus protocol (ordering transactions).
47+
- **Sentry Node:** a full nodes that doesn't participate in consensus and wraps the validator node representing it for the rest of the network
48+
as one of the ways for DDoS protection.
49+
- **Private Sentry Node:** connected to other Validators or Sentry nodes only; should not be accessed by clients.
50+
- **Public Sentry Node:** clients and other nodes can access it; basically the same as an Observer node.
51+
- **Observer Node (ON):** a full node that doesn't participate in consensus. Should be used to receive read/write requests from the clients. Technically can be a Public Sentry node.
52+
- **Light Client Proxy Node**: doesn't contain a full replication of data. Can be used as a proxy to untrusted Full nodes for single-value query requests sent via CLI or Tendermint RPC. It will verify all state proofs automatically.
53+
- **Seed Node**: provides a list of peers which a node can connect to.
54+
55+
See
56+
- [Deployment](docs/deployment.png)
57+
- [Deployment-detailed](docs/deployment-detailed.png).
58+
- [Deployment Recommendations](https://github.com/zigbee-alliance/distributed-compliance-ledger/wiki/DCL-MainNet-Deployment)
59+
- https://docs.tendermint.com/master/nodes/
60+
- https://docs.tendermint.com/master/nodes/validators.html
61+
- [Run Light Client Proxy](docs/running-light-client-proxy.md)
4362

4463
### Clients
4564
For interactions with the pool of nodes (sending write and read requests).
@@ -161,7 +180,7 @@ the following instructions from [how-to.md](docs/how-to.md) can be used for ever
161180
See [Run local pool](README-DEV.md#run-local-pool) section in [README-DEV.md](README-DEV.md).
162181

163182
### Deploy a persistent pool of nodes
164-
A recommended way for deployment and client connection: [diagram](docs/deployment.png)
183+
A recommended way for deployment and client connection: [diagram](docs/deployment.png) and [diagram-detailed](docs/deployment-detailed.png).
165184

166185
One can either deploy its own network of validator nodes or join one of the persistent DC Ledger Networks.
167186

@@ -191,6 +210,8 @@ This is done just for simplicity, and nothing prevents you from adding more node
191210
- [DC Ledger Overview](docs/design/DCL-Overview.pdf)
192211
- [DC Ledger Architecture Details](docs/design/DCL-arch-overview.pdf)
193212
- [Deployment Pattern](docs/deployment.png)
213+
- [Deployment Pattern Detailed](docs/deployment-detailed.png)
214+
- [Deployment Recommendations](https://github.com/zigbee-alliance/distributed-compliance-ledger/wiki/DCL-MainNet-Deployment)
194215
- [Running a Node](docs/running-node.md)
195216
- [Running a Genesis Validator Node](docs/advanced/running-genesis-node.md)
196217
- [Running a Validator Node](docs/advanced/running-validator-node.md)

docs/deployment-detailed.png

222 KB
Loading
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="app.diagrams.net" modified="2022-02-09T06:03:14.909Z" agent="5.0 (X11)" etag="zzMR_Rp5p-zZA5laEaXh" version="16.5.3" type="device"><diagram id="KpdVb7hLo3NdtQsJLBxK" name="Page-1">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</diagram></mxfile>

docs/design/deployment.drawio

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="app.diagrams.net" modified="2021-10-26T09:12:55.219Z" agent="5.0 (X11)" etag="6zOa1ReolW-a2ZH1hxdj" version="15.5.5" type="device"><diagram id="Ks2QVSkVNMz-3o9DhV4M" name="Page-1">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</diagram></mxfile>

0 commit comments

Comments
 (0)