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

Transient stores #1326

Closed
ebuchman opened this issue Jun 21, 2018 · 2 comments
Closed

Transient stores #1326

ebuchman opened this issue Jun 21, 2018 · 2 comments
Assignees

Comments

@ebuchman
Copy link
Member

Sometimes we need a place to persist things between transactions that can be wiped on commit.

For instance in staking, we keep the TendermintUpdates around in the store, but they are cleared before commit.

We should consider how to introduce transient stores that can be used to make this clearer

See #1013

@mossid
Copy link
Contributor

mossid commented Jun 26, 2018

Possible implementations:

  1. Mount transient substore in cacherootmultistore and make them not processed while .Write() (from staking TendermintUpdate Store should be in a transient store #1013)
  2. Make separate multistore that only contains transient stores and make them accessible by Context.TransientStore as opposed to Context.KVStore

@mossid mossid self-assigned this Jun 29, 2018
@mossid
Copy link
Contributor

mossid commented Jun 29, 2018

Should transient stores be a part of merkle tree? Since they are cleaned at the commit of each blocks, I don't think we have to make them as iavlStores.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants