## Description Partially resolves: https://github.com/vulcanize/cosmos-sdk/issues/14 Implements a [RocksDB](https://github.com/facebook/rocksdb)-based backend for the DB interface introduced by https://github.com/cosmos/cosmos-sdk/pull/9573 and specified by [ADR-040](https://github.com/cosmos/cosmos-sdk/blob/eb7d939f86c6cd7b4218492364cdda3f649f06b5/docs/architecture/adr-040-storage-and-smt-state-commitments.md). * Historical versioning is implemented with [Checkpoints](https://github.com/facebook/rocksdb/wiki/Checkpoints). * Uses `OptimisticTransactionDB` to allow concurrent transactions with write conflict detection. This depends on some additional CGo bindings - see https://github.com/tecbot/gorocksdb/pull/216, https://github.com/facebook/rocksdb/pull/8526. We'll need to replace the `gorocksdb` module until these are upstream. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - n/a - [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
36 lines
1.4 KiB
AMPL
36 lines
1.4 KiB
AMPL
go 1.17
|
|
|
|
module github.com/cosmos/cosmos-sdk/db
|
|
|
|
require (
|
|
github.com/dgraph-io/badger/v3 v3.2103.1
|
|
github.com/google/btree v1.0.0
|
|
github.com/stretchr/testify v1.7.0
|
|
github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c
|
|
)
|
|
|
|
require (
|
|
github.com/cespare/xxhash v1.1.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/dgraph-io/ristretto v0.1.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
|
|
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 // indirect
|
|
github.com/golang/protobuf v1.3.1 // indirect
|
|
github.com/golang/snappy v0.0.3 // indirect
|
|
github.com/google/flatbuffers v1.12.0 // indirect
|
|
github.com/klauspost/compress v1.12.3 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
go.opencensus.io v0.22.5 // indirect
|
|
golang.org/x/net v0.0.0-20201021035429-f5854403a974 // indirect
|
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect
|
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
|
|
)
|
|
|
|
// FIXME: gorocksdb bindings for OptimisticTransactionDB are not merged upstream, so we use a fork
|
|
// See https://github.com/tecbot/gorocksdb/pull/216
|
|
replace github.com/tecbot/gorocksdb => github.com/roysc/gorocksdb v1.1.0
|