-
Notifications
You must be signed in to change notification settings - Fork 7
feat: catchain overview #1002
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
base: main
Are you sure you want to change the base?
feat: catchain overview #1002
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
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.
No documentation issues detected.
This comment was marked as outdated.
This comment was marked as outdated.
Co-authored-by: Novus Nota <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
# Conflicts: # docs.json
skywardboundd
left a comment
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.
best article I've ever seen
|
Diagram is not perfect. The only idea to improve that is to do #1075 with Aigerim |
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.
Thanks for the update—I've left a couple of inline suggestions in docs.json and foundations; please apply them.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This comment was marked as outdated.
This comment was marked as outdated.
verytactical
left a comment
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.
The flow of the article is unclear. (TL/DR: didn't understand a thing.)
We've pushed some more comments directly into the branch.
| import { Stub } from '/snippets/stub.jsx'; | ||
|
|
||
| <Stub issue="171" /> | ||
| <Stub |
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.
Why is this article called "adnl", but its title is "Consensus"?
| import { Stub } from '/snippets/stub.jsx'; | ||
|
|
||
| <Stub issue="171" /> | ||
| <Stub |
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.
I don't think it's important enough to be listed between "Messages" and "Account status".
| ### Example message flow | ||
|
|
||
| ```mermaid | ||
| flowchart LR |
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.
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.
All message-related schemes should be in the same formatting, and every additional scheme adds context to what kind of design should be defined. So thanks to @Shvandre, he created another one.
For me, the unclear part starts from:
- Appearing crossing lines make this more complicated.
- Hard to get a timeline of events.
| - how to fetch dependencies; | ||
| - how to detect and penalize nodes that try to disrupt the system. | ||
|
|
||
| ## Choosing neighbor nodes |
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.
"Choosing neighbor" is part of overlay network protocol, not catchain
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.
Why? In sources it is in catchain-receiver.cpp
https://github.com/ton-blockchain/ton/blob/34823b1ea378edbe3bc59f3bcc48126480a0b768/catchain/catchain-receiver.cpp#L888
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore foundations/consensus/bcp-deep-dive.mdx foundations/consensus/bcp-overview.mdx foundations/consensus/catchain-overview.mdx foundations/network/adnl.mdx |
|
|
||
| <Aside type="tip"> | ||
| In the current implementation, [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) is used to pick the random interval for refreshing the neighbor list. It is seeded with values from [std::random_device](https://en.cppreference.com/w/cpp/numeric/random/random_device.html), whose behavior is platform-dependent. | ||
| In the current implementation, [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) is used to pick the random interval for refreshing the neighbor list. It is seeded with values from [std::random\_device](https://en.cppreference.com/w/cpp/numeric/random/random_device.html), whose behavior is platform-dependent. |
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.
| In the current implementation, [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) is used to pick the random interval for refreshing the neighbor list. It is seeded with values from [std::random\_device](https://en.cppreference.com/w/cpp/numeric/random/random_device.html), whose behavior is platform-dependent. | |
| In the current implementation, [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) is used to pick the random interval for refreshing the neighbor list. It is seeded with values from [`std::random_device`](https://en.cppreference.com/w/cpp/numeric/random/random_device.html), whose behavior is platform-dependent. |
Since its a code ref, let's use backticks

Closes #986