-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: network package c4 diagram initial design (#304)
* docs: network package c4 diagram initial design * docs: architecture diagrams in contributing --------- Co-authored-by: Fabio Rigamonti <[email protected]>
- Loading branch information
1 parent
cb161b9
commit a4edb21
Showing
3 changed files
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
```mermaid | ||
C4Context | ||
title "Vechain-SDK Architecture Overview" | ||
Boundary(b0, "Vechain-SDK Network Package") { | ||
Boundary(b1, "Thor Client") { | ||
System(nodes_module, "Nodes Module", "Manages node operations such as health checks and network status") | ||
System(contracts_module, "Contracts Module", "Handles smart contract interactions including deployment and execution") | ||
System(module_N, "Module N", "Represents additional modular functionality being developed for Thor Client") | ||
} | ||
Boundary(b2, "Thorest Client") { | ||
System(accounts_client, "Accounts Client", "Provides API methods for account management") | ||
System(blocks_client, "Blocks Client", "Enables querying and interacting with blockchain blocks") | ||
System(logs_client, "Logs Client", "Facilitates retrieval and monitoring of transaction logs") | ||
System(transactions_client, "Transactions Client", "Handles creation, signing, and broadcasting of transactions") | ||
System(nodes_client, "Nodes Client", "Offers interfaces to node-specific data and actions") | ||
} | ||
Boundary(b3, "Utilities") { | ||
System(http_client, "HTTP Client", "Customized HTTP client for efficient network request handling") | ||
Boundary(b5, "Polling Utilities"){ | ||
System(sync_poll, "Synchronous Polling", "Performs blocking polling operations for synchronous processes") | ||
System(async_poll, "Asynchronous Event Poll", "Implements event-driven polling for asynchronous workflows") | ||
} | ||
} | ||
Boundary(b4, "External Blockchain Interaction") { | ||
System_Ext(vechainthor, "VechainThor Blockchain", "Represents the VechainThor blockchain platform with which the SDK interacts") | ||
} | ||
} | ||
Rel(nodes_module, nodes_client, "Utilizes") | ||
Rel(contracts_module, transactions_client, "Interacts with") | ||
Rel(contracts_module, accounts_client, "Interacts with") | ||
Rel(accounts_client, http_client, "Utilizes for network requests") | ||
Rel(blocks_client, http_client, "Utilizes for network requests") | ||
Rel(logs_client, http_client, "Utilizes for network requests") | ||
Rel(transactions_client, http_client, "Utilizes for network requests") | ||
Rel(nodes_client, http_client, "Utilizes for network requests") | ||
BiRel(http_client, vechainthor, "Sends and receives data from") | ||
UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") | ||
``` |
a4edb21
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test Coverage
Summary