You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -22,8 +22,8 @@ DC Ledger is based on [CometBFT](https://cometbft.com/) and [Cosmos SDK](https:/
22
22
23
23
DC Ledger is a public permissioned ledger in the following sense:
24
24
25
-
- Anyone can read from the ledger (that's why it's public). See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger).
26
-
- Writes to the ledger are permissioned. See [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger) for details.
25
+
- Anyone can read from the ledger (that's why it's public). See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger).
26
+
- Writes to the ledger are permissioned. See [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger) for details.
27
27
- PoA (proof of authority) approach is used for adding new validator nodes to the network
28
28
(see [Add New Node Use Case](docs/use_cases/use_cases_add_validator_node.png)) and
29
29
[Running Node](docs/running-node.md).
@@ -117,7 +117,7 @@ See [Run local pool](README-DEV.md#run-local-pool) section in [README-DEV.md](RE
117
117
### CLI
118
118
119
119
- The same `dcld` binary as a Node
120
-
- A full list of all CLI commands can be found there: [transactions.md](docs/transactions/transactions.md).
120
+
- A full list of all CLI commands can be found there: [transactions.md](docs/transactions.md).
121
121
- CLI can be used for write and read requests.
122
122
- Please configure the CLI before using (see [how-to.md](docs/how-to.md#cli-configuration)).
123
123
-**If there are no trusted Observer or Validator nodes to connect a CLI, then a [Light Client Proxy](#light-client-proxy) can be used.**
@@ -140,20 +140,20 @@ See [Run Light Client Proxy](docs/running-light-client-proxy.md) for details how
140
140
-**There are no state proofs in REST, so REST queries should be sent to trusted Validator or Observer nodes only.**
- Any running node exposes a REST API at port `1317`. See <https://docs.cosmos.network/v0.47/learn/advanced/grpc_rest>.
143
-
- See [transactions](docs/transactions/transactions.md) for a full list of endpoints.
143
+
- See [transactions](docs/transactions.md) for a full list of endpoints.
144
144
- REST HTTP(S) queries can be directly used for read requests.
145
-
See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger).
145
+
See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger).
146
146
- REST HTTP(S) queries can be directly used to broadcast generated and signed transaction.
147
147
- Generation and signing of transactions need to be done in code or via CLI.
148
-
See [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger).
148
+
See [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger).
149
149
150
150
### gRPC
151
151
152
152
-**There are no state proofs in gRPC, so gRPC queries should be sent to trusted Validator or Observer nodes only.**
153
153
- Any running node exposes a REST API at port `9090`. See <https://docs.cosmos.network/v0.47/learn/advanced/grpc_rest>.
154
154
- A client code can be generated for all popular languages from the proto files [proto](proto), see <https://grpc.io/docs/languages/>.
155
155
- The generated client code can be used for read and write requests, i.e. generation and signing of transactions
156
-
See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger) and [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger) for details.
156
+
See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger) and [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger) for details.
157
157
158
158
### CometBFT RPC and Light Client
159
159
@@ -209,7 +209,7 @@ the following instructions from [how-to.md](docs/how-to.md) can be used for ever
Copy file name to clipboardexpand all lines: docs/pool-upgrade-how-to.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ One of the trustees proposes the upgrade using the following steps:
60
60
```
61
61
Please note, that it must be called against the `dcld` binary, not the platform archive itself. So, for Ubuntu, either take a `dcld` binary from the root folder of the release, or extract it from ` dcld.ubuntu.tar.gz`.
with the name of the new upgrade handler, the chosen ledger height and the
65
65
info containing URLs of the new application version binaries for supported
66
66
platforms with the calculated checksums.
@@ -92,7 +92,7 @@ Each of them uses the following steps to accomplish this:
92
92
```
93
93
Please note, that it must be called against the `dcld` binary, not the platform archive itself. So, for Ubuntu, either take a `dcld` binary from the root folder of the release, or extract it from ` dcld.ubuntu.tar.gz`.
Copy file name to clipboardexpand all lines: docs/transactions.md
+31-13
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ See use case sequence diagrams for the examples of how transaction can be used.
21
21
22
22
- Every writer to the Ledger must
23
23
- Have a private/public key pair.
24
-
- Have an Account created on the ledger via `ACCOUNT` transaction (see [Use Case Txn Auth](../use_cases/use_cases_txn_auth.puml)).
24
+
- Have an Account created on the ledger via `ACCOUNT` transaction (see [Use Case Txn Auth](use_cases/use_cases_txn_auth.puml)).
25
25
- The Account stores the public part of the key
26
26
- The Account has an associated role. The role is used for authorization policies.
27
27
- Sign every transaction by the private key.
@@ -38,9 +38,9 @@ an Account or sign the request.
38
38
39
39
- Local CLI
40
40
- Configure the CLI before using.
41
-
See `CLI Configuration` section in [how-to.md](../how-to.md#cli-configuration).
41
+
See `CLI Configuration` section in [how-to.md](how-to.md#cli-configuration).
42
42
- Generate and store a private key for the Account to be used for sending.
43
-
See `Getting Account` section in [how-to.md](../how-to.md#getting-account).
43
+
See `Getting Account` section in [how-to.md](how-to.md#getting-account).
44
44
- Send transactions to the ledger from the Account (`--from`).
45
45
- it will automatically build a request, sign it by the account's key, and broadcast to the ledger.
46
46
- See `CLI` sub-sections for every write request (transaction).
@@ -54,9 +54,9 @@ an Account or sign the request.
54
54
- Broadcast transaction by CLI 1: `dcld tx broadcast txn.json`
55
55
- To get the actual result of transaction, `dcld query tx=txHash` call must be executed, where `txHash` is the hash of previously executed transaction.
56
56
- gRPC:
57
-
- Generate a client code from the proto files [proto](../../proto) for the client language (see <https://grpc.io/docs/languages/>)
57
+
- Generate a client code from the proto files [proto](../proto) for the client language (see <https://grpc.io/docs/languages/>)
58
58
- Build, sign, and broadcast the message (transaction).
59
-
See [grpc/rest integration tests](../../integration_tests/grpc_rest) as an example.
59
+
See [grpc/rest integration tests](../integration_tests/grpc_rest) as an example.
60
60
- REST API
61
61
- Build and sign a transaction by one of the following ways
62
62
- In code via gRPC (see above)
@@ -81,25 +81,25 @@ Please make sure that TLS is enabled in gRPC, REST or Light Client Proxy for sec
81
81
82
82
- Local CLI
83
83
- See `CLI` section for every read request.
84
-
- If there are no trusted Observer or Validator nodes to connect a CLI, then a [Light Client Proxy](../running-light-client-proxy.md) can be used.
84
+
- If there are no trusted Observer or Validator nodes to connect a CLI, then a [Light Client Proxy](running-light-client-proxy.md) can be used.
- Any running node exposes a REST API at port `1317`. See <https://docs.cosmos.network/v0.45/core/grpc_rest.html>.
88
88
- See `REST API` section for every read request.
89
-
- See [grpc/rest integration tests](../../integration_tests/grpc_rest) as an example.
89
+
- See [grpc/rest integration tests](../integration_tests/grpc_rest) as an example.
90
90
- There are no state proofs in REST, so REST queries should be sent to trusted Validator or Observer nodes only.
91
91
- gRPC
92
92
- Any running node exposes a REST API at port `9090`. See <https://docs.cosmos.network/v0.45/core/grpc_rest.html>.
93
-
- Generate a client code from the proto files [proto](../../proto) for the client language (see <https://grpc.io/docs/languages/>).
94
-
- See [grpc/rest integration tests](../../integration_tests/grpc_rest) as an example.
93
+
- Generate a client code from the proto files [proto](../proto) for the client language (see <https://grpc.io/docs/languages/>).
94
+
- See [grpc/rest integration tests](../integration_tests/grpc_rest) as an example.
95
95
- There are no state proofs in gRPC, so gRPC queries should be sent to trusted Validator or Observer nodes only.
96
96
- Tendermint RPC
97
97
- Tendermint RPC OpenAPI specification can be found in <https://zigbee-alliance.github.io/distributed-compliance-ledger/>.
98
98
- Tendermint RPC is exposed by every running node at port `26657`. See <https://docs.cosmos.network/v0.45/core/grpc_rest.html#tendermint-rpc>.
99
99
- Tendermint RPC supports state proofs. Tendermint's Light Client library can be used to verify the state proofs.
100
100
So, if Light Client API is used, then it's possible to communicate with non-trusted nodes.
101
101
- Please note, that multi-value queries don't have state proofs support and should be sent to trusted nodes only.
102
-
- Refer to [this doc](../cometbft-rpc.md) to see how to [subscribe](../cometbft-rpc.md#subscribe) to a Tendermint WebSocket based events and/or [query](../cometbft-rpc.md#querying-application-components) an application components.
102
+
- Refer to [this doc](cometbft-rpc.md) to see how to [subscribe](cometbft-rpc.md#subscribe) to a Tendermint WebSocket based events and/or [query](cometbft-rpc.md#querying-application-components) an application components.
103
103
104
104
`NotFound` (404 code) is returned if an entry is not found on the ledger.
105
105
@@ -1650,7 +1650,7 @@ Use [GET_ALL_REVOKED_NOC_ROOT](#get_all_revoked_noc_root-rcacs) to get a list of
0 commit comments