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: CONTRIBUTING.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,9 @@
3
3
Thank you for considering contributing and sharing your knowledge about the Cardano protocol in one capacity or another.
4
4
5
5
There are basically two ways to contribute:
6
-
- Validate and provide feedback about existing blueprints
7
-
- Create or update blueprints
6
+
7
+
- Validate and provide feedback about existing blueprints
8
+
- Create or update blueprints
8
9
9
10
## Validate blueprints
10
11
@@ -44,10 +45,10 @@ Thank you for contributing your changes by opening a pull request!
44
45
45
46
We do appreciate it if your pull request meets the following criteria:
46
47
47
-
+**Description of the changes**: providing a clear summary of the changes is beneficial
48
-
+**Quality of changes**: ensure that new or updated automated tests validate your changes
49
-
+**Scope**: we prefer multiple pull requests that are well-scoped rather than a single large one
50
-
+**Correctness**: the pull request should pass the continuous integration (CI) pipeline.
48
+
-**Description of the changes**: providing a clear summary of the changes is beneficial
49
+
-**Quality of changes**: ensure that new or updated automated tests validate your changes
50
+
-**Scope**: we prefer multiple pull requests that are well-scoped rather than a single large one
51
+
-**Correctness**: the pull request should pass the continuous integration (CI) pipeline.
51
52
52
53
The project is currently in an expand-and-gather phase with no requirement of approvals, but consider requesting for reviews on Github-suggested reviewers.
Copy file name to clipboardExpand all lines: src/client/README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,15 +13,15 @@ enabling this interaction:
13
13
Below we present a table with clients and servers that implement each protocol:
14
14
15
15
| Server | NTC | UTxO RPC |
16
-
|:---------------|-----|----------|
16
+
|:-------------|---|--------|
17
17
|[cardano-node]| ✅ | ❔ |
18
18
|[dingo]| ✅ | ✅ |
19
19
|[amaru]| ❔ | ❔ |
20
20
21
21
<br/>
22
22
23
23
| Client | NTC | UTxO RPC |
24
-
|:--------------|-----|----------|
24
+
|:------------|---|--------|
25
25
|[cardano-cli]| ✅ | ⬜ |
26
26
|[pallas]| ✅ | ❔ |
27
27
|[gouroboros]| ✅ | ❔ |
@@ -30,9 +30,9 @@ Below we present a table with clients and servers that implement each protocol:
30
30
>
31
31
> Please help us keep this list up-to-date by [suggesting an edit](https://github.com/cardano-scaling/cardano-blueprint/edit/main/src/client/README.md).
Copy file name to clipboardExpand all lines: src/client/node-to-client/state-query/README.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,8 +61,6 @@ stateDiagram
61
61
62
62
</details>
63
63
64
-
[^1]: Derived from [ogmios](https://ogmios.dev/mini-protocols/local-state-query/)' great ascii art description.
65
-
66
64
## Acquire a state
67
65
68
66
To use the ledger state query API, a client needs to first specify at which point on the chain the query should be executed. Depending on the server implementation, this point may only be within the "volatile" recent part of the chain. A typical practice is to acquire the tip of the chain, perform one or more queries and close the connection again.
@@ -103,6 +101,7 @@ Example response:
103
101
104
102
> [!CAUTION]
105
103
> FIXME: While I experimented in using the network / consensus cddl parts above, `time` would be defined in the CDDL prelude (a number, assuming seconds since epoch), but is actually incorrect and the result is serialized using `ToCBOR UTCTime` following this cddl:
104
+
>
106
105
> ```cddl
107
106
> time = [year, dayOfYear, timeOfDayPico]
108
107
> year = bigint
@@ -114,3 +113,5 @@ Example response:
114
113
115
114
> [!WARNING]
116
115
> TODO: Era-specific query with an involved answer
116
+
117
+
[^1]: Derived from [ogmios](https://ogmios.dev/mini-protocols/local-state-query/)' great ascii art description.
The mini-protocols mentioned in the neworking chapter are one of the possible
155
-
mechanisms used for data difussion. The [Networking design
154
+
mechanisms used for data diffusion. The [Networking design
156
155
document][network-design] has many more insights on why these protocols were
157
156
implemented, and how they differ from other off-the-shelf mechanisms.
158
157
@@ -196,37 +195,36 @@ blocks or transactions. From the perspective of the consensus layer, the ledger
196
195
layer has four primary responsibilities:
197
196
198
197
- Applying blocks: The most obvious and most important responsibility of the
199
-
ledger is to define how the ledger state changes in response to new blocks,
200
-
validating blocks at it goes and rejecting invalid blocks.
198
+
ledger is to define how the ledger state changes in response to new blocks,
199
+
validating blocks at it goes and rejecting invalid blocks.
201
200
202
201
- Applying transactions: Similar to applying blocks, the ledger layer must also
203
-
provide an interface for applying a single transaction to the ledger state. This
204
-
is important, because the consensus layer does not just deal with previously
205
-
constructed blocks, but also constructs new blocks.
202
+
provide an interface for applying a single transaction to the ledger state. This
203
+
is important, because the consensus layer does not just deal with previously
204
+
constructed blocks, but also constructs new blocks.
206
205
207
206
- Ticking time: Some parts of the ledger state change only due to the passage of
208
-
time. For example, blocks might schedule some changes to be applied at a given
209
-
slot, without the need for a block to be processed at that slot.
207
+
time. For example, blocks might schedule some changes to be applied at a given
208
+
slot, without the need for a block to be processed at that slot.
210
209
211
210
- Forecasting: Some consensus protocols require limited information from the
212
-
ledger. For instance, in Praos, a node’s probability of being elected a slot
213
-
leader is proportional to its stake, but the stake distribution is something
214
-
that the ledger keeps track of. This information is referred to as _ledger
215
-
view_. We require not just that the ledger can provide a view of the current
216
-
ledger state but also that it can predict what view will be for slots in the
217
-
near future.
218
-
211
+
ledger. For instance, in Praos, a node’s probability of being elected a slot
212
+
leader is proportional to its stake, but the stake distribution is something
213
+
that the ledger keeps track of. This information is referred to as _ledger
214
+
view_. We require not just that the ledger can provide a view of the current
215
+
ledger state but also that it can predict what view will be for slots in the
216
+
near future.
219
217
220
218
## Resources
221
219
222
220
-[Technical report: Data Diffusion and Network][network-design]: Original design document of the peer-to-peer network protocols and diffusion semantics
223
221
-[Technical report: Cardano Consensus and Storage Layer](https://ouroboros-consensus.cardano.intersectmbo.org/pdfs/report.pdf): Documentation of the Haskell implementation of consensus components
224
222
-[Website: ouroboros-consensus > For Developers](https://ouroboros-consensus.cardano.intersectmbo.org/docs/for-developers): Collection of developer articles on the Haskell implementation of consensus components
0 commit comments