DotNext.Net.Cluster by Roman Sakno

<PackageReference Include="DotNext.Net.Cluster" Version="3.2.1" />

 IPersistentState

Represents persistent state of local cluster member required by Raft consensus protocol.
long Term { get; }

Reads Term value associated with the local member from the persistent storage.

Suspens the caller until the log entry with term equal to Term will be committed.

Increments Term value.

Determines whether the local member granted its vote for the specified remote member.

ValueTask UpdateTermAsync(long term, bool resetLastVote)

Persists the last actual Term.

Persists the item that was voted for on in the last vote.