Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add authority claimer documentation to node #143

Merged
merged 1 commit into from
Nov 9, 2023

Conversation

GMKrieger
Copy link
Contributor

#43

@GMKrieger GMKrieger self-assigned this Nov 8, 2023
@GMKrieger GMKrieger requested a review from a team November 8, 2023 20:36
@GMKrieger GMKrieger added the no changelog PRs that don't require changes in changelog label Nov 8, 2023
@GMKrieger GMKrieger added this to the 1.2.0 milestone Nov 8, 2023
README.md Outdated
@@ -90,42 +88,64 @@ The [**State-fold Server**](./offchain/state-server/README.md) is the component

The [**Dispatcher**](./offchain/dispatcher/README.md) is the component that messages *Inputs* via the **Broker** to be processed elsewhere and submits *Claims* to the blockchain.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The [**Dispatcher**](./offchain/dispatcher/README.md) is the component that messages *Inputs* via the **Broker** to be processed elsewhere and submits *Claims* to the blockchain.
The [**Dispatcher**](./offchain/dispatcher/README.md) is the component that messages *Inputs* via the **Broker** to be processed elsewhere.

README.md Outdated
The [**Advance Runner**](./offchain/advance-runner/README.md) is the one responsible for relaying *Inputs* to the **Server Manager** to be processed by the underlying DApp running in the embedded **Cartesi Machine**.
The **Advance Runner** obtains the resulting **Outputs** and **Claims** from the **Server Manager** and adds them to the **Broker**.

The [**Indexer**](./offchain/indexer/README.md) consumes all *Inputs* and *Outputs* transferred by the **Broker** and stores them in a **PostgreSQL** database for later querying via a **GraphQL Server** instance.

The [**Inspect Server**](./offchain/inspect-server/README.md) is responsible for the processing of *Inspect* requests via HTTP.

## Workflows
## Framework features
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Framework features
## Rollups Node Features

README.md Outdated

### Reader Flow
### Reader Feature
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Reader Feature
### Processing Inputs

README.md Outdated

In the Reader Flow, any *Input* read from the blockchain by the **State-fold Server** is received by the **Dispatcher** and relayed to the **Broker** through an input-specific stream.
With the Reader Feature, any *Input* read from the blockchain by the **State-fold Server** is received by the **Dispatcher** and relayed to the **Broker** through an input-specific stream.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This paragraph seems strange because the text describes details of the implementation instead of the feature itself.
We first need an explanatory paragraph for each feature. For instance, in the processing inputs feature, we could have something like:

The Node is capable of processing rollup inputs stored in the blockchain. To do that, the node gets the inputs from the blockchain, sends them to the Cartesi machine, and stores the result in the node database. Once the input result is in the database, the node client can query the outputs in the GraphQL API.

README.md Outdated
## Host mode
## Execution modes

The Cartesi Node may act as a *User* (aka *Reader*), as a *Validator* or run locally as a *Host*, hence performing different roles, which may be represented by different workflows.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Cartesi Node may act as a *User* (aka *Reader*), as a *Validator* or run locally as a *Host*, hence performing different roles, which may be represented by different workflows.
The Cartesi Node may act as a *Reader*, or a *Validator*, or run locally as a *Host*, performing different roles, which different workflows may represent.

I removed the "User" part; I think it is confusing. I also applied some suggestions from Grammarly.

I'm still not sure what "different workflows may represent" means.

README.md Outdated

### Reader Mode

The *Reader Mode* is the default running operation of the node. It doesn't submit claims to the blockchain, instead only reads and updates the state. It contains the Reader and Inspect Data features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each sentence should have its own line so the diffs later are easier to read.

README.md Outdated

### Reader Mode

The *Reader Mode* is the default running operation of the node. It doesn't submit claims to the blockchain, instead only reads and updates the state. It contains the Reader and Inspect Data features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Reader Mode is the default running operation of the node.

I'm afraid I have to disagree. We shouldn't provide a default mode because the user should be conscious of his actions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough, by default I meant that every node will run this logic, even a validator node that has the claiming as well. But I can see now I did not made myself clear.

Copy link
Collaborator

@marcelstanley marcelstanley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

I just have a few extra comments.

Also, the link at the line below is broken. Perhaps we should change the sentences to reflect the changes made in the PR.

Their features are emulated by the **Host Runner**, which interacts with the **DApp Backend** being executed locally in the *host* to perform the Cartesi Node [workflows](#workflows).

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@GMKrieger GMKrieger force-pushed the feature/document-authority-claimer branch 3 times, most recently from 19c43fe to 18df374 Compare November 9, 2023 15:09
README.md Outdated Show resolved Hide resolved
@GMKrieger GMKrieger force-pushed the feature/document-authority-claimer branch from 18df374 to 6613291 Compare November 9, 2023 18:22
@GMKrieger GMKrieger merged commit d52b7bb into main Nov 9, 2023
6 checks passed
@GMKrieger GMKrieger deleted the feature/document-authority-claimer branch November 9, 2023 19:04
@gligneul gligneul mentioned this pull request Nov 9, 2023
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no changelog PRs that don't require changes in changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants