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

Incentives: Heartbeat transaction type #6149

Merged
merged 22 commits into from
Nov 27, 2024

Conversation

jannotti
Copy link
Contributor

@jannotti jannotti commented Oct 8, 2024

heartbeat/README.md is the best place to read about these changes (along with the payout system that motivated them)

Some TODOS:
 1) Lock it down. Singleton group? Top-level?
 2) Make it free for challenged nodes.
 3) Get the heartbeat service going to keep those nodes online.
 4) Move the crypto earlier
@jannotti jannotti self-assigned this Oct 8, 2024
@jannotti jannotti changed the title Heartbeat transaction type Incentives: Heartbeat transaction type Oct 8, 2024
@jannotti jannotti force-pushed the heartbeat branch 4 times, most recently from 936b219 to 9d7d57b Compare October 21, 2024 20:30
@cce cce changed the base branch from master to feature/heartbeats October 30, 2024 14:41
heartbeat/abstractions.go Show resolved Hide resolved
heartbeat/service.go Outdated Show resolved Hide resolved
heartbeat/service.go Show resolved Hide resolved
util/set.go Show resolved Hide resolved
@jannotti jannotti force-pushed the heartbeat branch 8 times, most recently from ee3b0d4 to 9162eec Compare November 20, 2024 23:18
Copy link

codecov bot commented Nov 21, 2024

Codecov Report

Attention: Patch coverage is 67.21311% with 80 lines in your changes missing coverage. Please review.

Project coverage is 56.39%. Comparing base (fb748a6) to head (1cb12d3).
Report is 1 commits behind head on feature/heartbeats.

Files with missing lines Patch % Lines
libgoal/libgoal.go 0.00% 16 Missing ⚠️
crypto/onetimesig.go 0.00% 14 Missing ⚠️
ledger/apply/heartbeat.go 72.09% 6 Missing and 6 partials ⚠️
heartbeat/service.go 84.50% 6 Missing and 5 partials ⚠️
ledger/eval/eval.go 58.82% 7 Missing ⚠️
data/transactions/logic/assembler.go 0.00% 5 Missing ⚠️
ledger/apply/challenge.go 88.23% 3 Missing and 1 partial ⚠️
ledger/ledgercore/accountdata.go 0.00% 3 Missing ⚠️
data/transactions/transaction.go 60.00% 1 Missing and 1 partial ⚠️
data/transactions/verify/txn.go 60.00% 1 Missing and 1 partial ⚠️
... and 3 more
Additional details and impacted files
@@                  Coverage Diff                   @@
##           feature/heartbeats    #6149      +/-   ##
======================================================
+ Coverage               54.17%   56.39%   +2.21%     
======================================================
  Files                     494      497       +3     
  Lines                   70060    70231     +171     
======================================================
+ Hits                    37957    39605    +1648     
+ Misses                  29357    27931    -1426     
+ Partials                 2746     2695      -51     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jannotti jannotti marked this pull request as ready for review November 21, 2024 17:03
The HeartbeatProof type just makes the Heartbeat transactions a
little cleaner - they lack the legacy field that OneTimeSignature
can't remove.
Copy link
Contributor

@gmalouf gmalouf left a comment

Choose a reason for hiding this comment

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

Comments so far

data/transactions/logic/assembler.go Outdated Show resolved Hide resolved
crypto/onetimesig.go Show resolved Hide resolved
daemon/algod/api/client/restClient.go Show resolved Hide resolved
util/set.go Show resolved Hide resolved
Copy link
Contributor

@gmalouf gmalouf left a comment

Choose a reason for hiding this comment

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

Additional comments

heartbeat/service.go Show resolved Hide resolved
heartbeat/README.md Outdated Show resolved Hide resolved
heartbeat/README.md Show resolved Hide resolved
heartbeat/README.md Show resolved Hide resolved
heartbeat/README.md Outdated Show resolved Hide resolved
heartbeat/service.go Outdated Show resolved Hide resolved
ledger/apply/challenge.go Show resolved Hide resolved
ledger/apply/heartbeat_test.go Show resolved Hide resolved
ledger/apply/heartbeat.go Show resolved Hide resolved
ledger/eval/eval.go Show resolved Hide resolved
More careful heartbeat in service.go so we don't heartbeat every
round, and we use a lower firstValid in case we are slightly ahead of
the nodes we send it to. We don't want them to drop it.
Copy link
Contributor

@gmalouf gmalouf left a comment

Choose a reason for hiding this comment

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

I'm good with merging to the feature branch.

@jannotti jannotti merged commit de1c241 into algorand:feature/heartbeats Nov 27, 2024
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants