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

vstorage resource analysis #1

Open
anilhelvaci opened this issue Jan 15, 2024 · 1 comment
Open

vstorage resource analysis #1

anilhelvaci opened this issue Jan 15, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@anilhelvaci
Copy link
Collaborator

What is the Problem Being Solved?

We need to think on what's the best way store required data on vstorage in the most efficient way

Description of the Design

TBD

Security Considerations

Make sure we're not consuming unnecessary space and not make it harder to update/write new data

Scaling Considerations

Test Plan

Upgrade Considerations

@anilhelvaci anilhelvaci added the enhancement New feature or request label Jan 15, 2024
@Jorge-Lopes
Copy link
Owner

Jorge-Lopes commented Jan 17, 2024

Vstorage Research

Storage viewer tool

Agoric

Methods exposed by the storage node

Object [Alleged: mockChainStorage] {
  __getInterfaceGuard__: [Function: value],
  __getMethodNames__: [Function: value],
  getPath: [Function: value],
  getStoreKey: [Function: value],
  makeChildNode: [Function: value],
  setValue: [Function: value],
  getBody: [Function: getBody],
  keys: [Function: keys]
}

Note: this seems like the best description of vstorage on agoric code

/**
 * This represents a node in an IAVL tree.
 *
 * The active implementation is x/vstorage, an Agoric extension of the Cosmos SDK.
 *
 * Vstorage is a hierarchical externally-reachable storage structure that
 * identifies children by restricted ASCII name and is associated with arbitrary
 * string-valued data for each node, defaulting to the empty string.
 *
 * @typedef {object} StorageNode
 * @property {(data: string) => Promise<void>} setValue publishes some data
 * @property {() => string} getPath the chain storage path at which the node was constructed
 * @property {() => Promise<VStorageKey>} getStoreKey DEPRECATED use getPath
 * @property {(subPath: string, options?: {sequence?: boolean}) => StorageNode} makeChildNode
 */

Interesting related topics:

Cosmos

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

No branches or pull requests

2 participants