Skip to content

RCP-240725A: Optional In-Memory Container Persistence Feature #9

@will-bitlight

Description

@will-bitlight

Background

In rgb-std, we provide memory-based state storage containers such as MemStash and Mem*. We have also implemented a feature named fs for these containers to provide persistent storage. In rgb-std, this feature is optional and not enabled by default. However, in rgb (rgb-runtime), we have enabled the fs feature by default at the workspace level. This requires downstream users, when using rgb, to handle the related API and configure persistent paths even if they do not need persistence.

Proposal

We propose to change this behavior so that persistence for memory containers is also optional when using rgb. The specific changes are as follows:

  • At the workspace level of rgb, do not enable the rgb-std fs feature by workspace level.
  • Modify Cargo.toml from fs = ["serde", "bp-wallet/fs"] to fs = ["serde", "bp-wallet/fs", "rgb-std/fs"].

To ensure consistency of the fs feature, we will also synchronize the configuration changes in the following repositories:

  • rgb
  • rgb-interfaces
  • rgb-schemata

Through these changes, we hope to provide downstream users with more flexibility, allowing them to choose whether to enable persistence features based on their needs.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions