You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the land of piecrust, the rusk.persist() method is now a noop, since every accept/finalize is always persisted.
Unluckily, all the dusk-blockchain sync was incepted around that method.
(See also: dusk-network/dusk-blockchain#1530 and dusk-network/dusk-blockchain#1532)
Said that, current dusk-blockchain implementation is not usable with a piecrust version of rusk.
Possible solution design or implementation
To avoid completely wasting time on upgrading grpcAPI just to fit only dusk-blockchain need, we should at least upgrade those API with a logic that is reusable by the rusk full node.
So, I'm for changing the current state grpcAPI with the following
Persist(from_root, txs[], expected_root) -> () // Replace the previous Accept/Finalize calls. It executes txs and updates the current commit only if root is equal to the expected
Finalize(from, to) --> () // Squash commits and update base_root to to if base_root==from
Revert(to) -> () //remove all inner.commits between to and current_commit and replace current_commit with to
The text was updated successfully, but these errors were encountered:
Unluckily, all the dusk-blockchain sync was incepted around that method
I'm not certain this is true:
For the record, Persist grpc API was added as an optimization. (see also #572).
If we now are back to the strategy where we persist on each accept/finalize call, there should be no issue with dusk-blockchain sync if we always call StoreBlock(block, persisted = true).
Summary
With the land of piecrust, the
rusk.persist()
method is now a noop, since every accept/finalize is always persisted.Unluckily, all the dusk-blockchain sync was incepted around that method.
(See also: dusk-network/dusk-blockchain#1530 and dusk-network/dusk-blockchain#1532)
Said that, current dusk-blockchain implementation is not usable with a piecrust version of rusk.
Possible solution design or implementation
To avoid completely wasting time on upgrading grpcAPI just to fit only dusk-blockchain need, we should at least upgrade those API with a logic that is reusable by the rusk full node.
So, I'm for changing the current state grpcAPI with the following
base_root
toto
ifbase_root==from
to
andcurrent_commit
and replacecurrent_commit
withto
The text was updated successfully, but these errors were encountered: