-
Notifications
You must be signed in to change notification settings - Fork 7
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
Comparison and Testing of Artela-Rollkit and Artela Features #9
Comments
Issue 1 Description: Pub/Sub is not functioning as expected. Reason: In Rollkit's Due to changes in the subscription response structure, certain modules of the Ethereum-compatible subscription functionality need to be partially refactored. Created an enhancement request for Rollkit: rollkit/rollkit#1936 |
Issue 2 Describtion: Reason: func (m *Manager) publishBlock(ctx context.Context) error {
...
// Commit the new state and block which writes to disk on the proxy app
appHash, _, err := m.executor.Commit(ctx, newState, block, responses)
if err != nil {
return err
}
// Update app hash in state
newState.AppHash = appHash
// SaveBlockResponses commits the DB tx
err = m.store.SaveBlockResponses(ctx, blockHeight, responses)
if err != nil {
return err
}
...
} In the query for BlockResults(code below), both blockData and blockResponses are queried separately. If it happens that the blockData has already been committed but the blockResponses have not yet been committed, the query will fail. func (c *FullClient) BlockResults(ctx context.Context, height *int64) (*ctypes.ResultBlockResults, error) {
...
header, _, err := c.node.Store.GetBlockData(ctx, h)
if err != nil {
return nil, err
}
resp, err := c.node.Store.GetBlockResponses(ctx, h)
if err != nil {
return nil, err
}
...
} |
Workaround for Issue 2: when querying the latest block, if the block is not ready yet, use the previous block. |
The text was updated successfully, but these errors were encountered: