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

Initial Tendermint implementation #145

Merged
merged 206 commits into from
Dec 3, 2022
Merged

Initial Tendermint implementation #145

merged 206 commits into from
Dec 3, 2022

Conversation

kayabaNerve
Copy link
Member

Doesn't handle slashing nor staking.

With the new docker composition, the 6 nodes (3 validators, 3 nodes) are able to connect, produce blocks, and achieve finalizations over extended periods of time. I'm currently running such a config overnight to do initial tests on its stability.

Achieves the necessary handling of inherent transactions, enabling closing #47 for a series of smaller issues.

Also creates a dedicated file for the message log.
Ideally, this would be generic. Unfortunately, the generic API serde 
doesn't natively support borsh, nor SCALE, and while there is a serde 
SCALE crate, it's old. While it may be complete, it's not worth working 
with.

While we could still grab bincode, and a variety of other formats, it 
wasn't worth it to go custom and for Serai, we'll be using SCALE almost 
everywhere anyways.
Greatly simplifies verifying when syncing.
Restores sig aggregation API.
For a hash, which is fixed-size, these should be the same yet this helps 
move past the dependency on SCALE. It also, for any type where the two 
values are different, smooths integration.
Also attempts to make the code more readable while updating/correcting 
documentation.
Greatly increases safety as well by ensuring only one message is 
processed at once.
1) Commit didn't include the round, leaving the clock in question.

2) Machines started with a local time, instead of a proper start time.

3) Machines immediately started the next block instead of waiting for 
the block time.
@TheArchitect108
Copy link
Collaborator

LGTM 🔥 🔥 🔥 🥳

@kayabaNerve kayabaNerve merged commit 8f4d6f7 into develop Dec 3, 2022
@kayabaNerve kayabaNerve deleted the tendermint branch December 3, 2022 23:38
This was referenced Dec 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request tendermint
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants