-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
10 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,28 @@ | ||
# storey | ||
|
||
`storey` is currently a pile of debris with some (hopefully) good ideas strewn about. One day, a new storage abstraction library for the decentralized world might rise from it. Like a phoenix from ashes. Or like a sleep-deprived commuter at 6 a.m. One of the two. | ||
`storey` is an experimental storage abstraction layer for blockchain modules and smart contracts. It's mostly intended | ||
for the [CosmWasm](https://cosmwasm.com/) ecosystem, where it's meant as an alternative to [`cw-storage-plus`](https://github.com/CosmWasm/cw-storage-plus). | ||
|
||
In essence, if you have a binary key-value based store, you can integrate `storey` with it to provide typed abstractions that are | ||
a little nicer to work with. | ||
|
||
## Guide | ||
|
||
A (possibly still incomplete) guide can be found [here](https://docs.cosmwasm.com/storey). | ||
A guide can be found [here](https://docs.cosmwasm.com/storey). | ||
|
||
## Loose goals (subject to change) | ||
## Goals | ||
|
||
- comparable user experience for simple use cases to [`cw-storage-plus`](https://github.com/CosmWasm/cw-storage-plus) | ||
- minimal key length (compared to [`cw-storage-plus`](https://github.com/CosmWasm/cw-storage-plus)) | ||
- backend-agnostic core - go, plug it into something other than _CosmWasm_ | ||
- encoding-agnostic core - a _CosmWasm_-specific crate will mandate an encoding for values, but the core itself probably won't | ||
- minimal-dependency core - currently, the core has 0 (zero) external dependencies | ||
- encoding-agnostic core - the _CosmWasm_-specific crate mandates an encoding for values, but the core itself doesn't | ||
- minimal-dependency core - currently, the core has almost no dependencies | ||
- composable collections | ||
- nicer compound keys | ||
- a better API for folks who would like to implement their own collections | ||
- spit-shined code | ||
|
||
## Non-goals | ||
|
||
It's unlikely we'll build these. It's more likely we'll eventually provide enough support that you can build them yourself without much headache. | ||
It's unlikely we'll build these. It's more likely we'll eventually provide enough support that you can build them yourself without much headache, and nudge you in the right direction. | ||
|
||
- indexes | ||
- snapshots |