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

Prefixed crate names with zksync_consensus_ #25

Merged
merged 8 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/protobuf_conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
path: "protobuf"
- uses: mozilla-actions/[email protected]
- name: build test
run: cargo build -p schema --bin conformance_test
run: cargo build -p zksync_consensus_schema --bin conformance_test
Copy link
Contributor

Choose a reason for hiding this comment

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

Off-topic (?): If we want to publish crates, I'd suggest to move this binary target to an example or a separate crate, so that it doesn't bring unnecessary extra deps (e.g., Tokio) as direct deps of the library. The same can be said about testonly modules in various crates (they may bring extra deps such as rand as well); so it would be better to gate this functionality behind an opt-in feature. Can be done later, of course.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would prefer to minimize the usage of the feature flags if possible. I don't know much about the crate publishing standards though.

working-directory: "this/node"
- name: Cache Bazel
uses: actions/cache@v3
Expand Down
6 changes: 3 additions & 3 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The architecture of era-bft loosely follows the [Actor model](https://en.wikiped

The actor crates are where the vast majority of the work is done. Each of them maintains its own separate state and communicate with each other through message passing. We have the following actor crates:

- the `consensus` crate implements the logic for the consensus algorithm.
- the `bft` crate implements the logic for the consensus algorithm.

- the `executor` crate is responsible for parsing the configuration parameters given by the user, and initializing the actors and the storage. It's basically the bootloader for the node. It also dispatches messages between the rest of the actors. They all send messages to the executor and it then converts and forwards the messages to the desired destination. This improves the encapsulation of the actors.

Expand Down Expand Up @@ -44,7 +44,7 @@ This section provides a physical map of folders & files in this repository.

- `/actors`: Crates that implement specific actor components.

- `/consensus`: The consensus actor.
- `/bft`: The consensus actor.
- `/executor`: The actor orchestrator.
- `/network`: The networking actor.
- `/sync_blocks`: The block syncing actor.
Expand All @@ -58,4 +58,4 @@ This section provides a physical map of folders & files in this repository.
- `/storage`: Storage layer for the node.
- `/utils`: Collection of small utilities.

- `/tools`: Utility binaries needed to work with and test the node.
- `/tools`: Utility binaries needed to work with and test the node.
Loading
Loading