Skip to content
Cosmopediaby Unity Nodes
DiscussionsTendermintCompiling Tendermint with cleveldbForum ↗

Compiling Tendermint with cleveldb

Tendermint3 posts1,619 views2 likesLast activity Jul 2021
CS
csknkOP
Jul 2021 1

I’m having trouble compiling and using Tendermint with cleveldb.

Followed the instructions for compiling with cleveldb - completed without obvious errors.

I then amended the db_backend field in my apps config. On starting a fresh chain I get this error:

unknown db_backend cleveldb, expected one of memdb,goleveldb

In the initDBs() function here I can see that the config has the correct value - i.e. config.DBBackend == "cleveldb".

The app works fine with “golevelb” selected in the config.toml, even though the Tendermint binary was compiled with the cleveldb option - so I’m guessing it has not compiled properly.

If I have compiled TM with cleveldb support, should the app be able to start with the goleveldb option?
Is there a way to check that I have compiled TM with cleveldb properly?

I’m relatively new to Golang and I’m confused that there are no cleveldb related build tags throughout the TM codebase. Can someone explain the purpose of the ‘cleveldb’ build tags in the Make recipe?

Would appreciate some help - thanks in advance.

JA
jacobgadikian
Jul 2021

There is actually a build tag for that as far as I know. Let me see if I can dig it up for you. https://docs.tendermint.com/master/introduction/install.html#compile-with-cleveldb-support Were you reading that? Is that helpful and what you were looking for? The purpose of those tags is to allow go to know that it needs to break out cgo, and compile some c as well as some go. I’m also fairly sure that we may be standardizing around badger DB, I think that there’s an issue on this. It would basically allow us to drop the TMDB library. github.com/tendermint/tendermint Outlook for Tendermint Databases [Tracking issue] opened 11:55AM - 02 Feb 21 UTC cmwaters S:proposal T:tracking ## Summary There have been a few discussions already surrounding the topic. T … his is an issue that tries to capture the current landscape and offer some guidance towards heading forwards. Essentially the crux of the topic is more of a question: How involved does Tendermint want to be with the database layer that it operates above? The core value of Tendermint resides in BFT state machine replication. This means modules…

Excerpt (1197 of 4376 characters). Read the whole post on the forum ↗

CS
csknk
Jul 2021 1

Thanks for the response Jacob - yes, that is the doc guide I was following.

I’ll check the issue you shared and report back.

← Back to Discussions