celestiaorg / celestia-core

A fork of CometBFT
Apache License 2.0
489 stars 269 forks source link

Remove different ways to run abci apps - only in process is required #206

Closed liamsi closed 3 years ago

liamsi commented 3 years ago

Description

Tendermint allows to interface with applications in different ways: image

https://docs.tendermint.com/master/tutorials/go.html#built-in-app-vs-external-app

We only need to be able to run the application in process and can remove all other possibilities. While this looks like something we could easily do much later, @marbar3778 brought up a good point: namely that it would make our lives a bit easier with the e2e tests. More precisely, all different combinations (of app tests) are tested there: https://github.com/lazyledger/lazyledger-core/tree/master/test#tendermint-tests e.g. https://github.com/lazyledger/lazyledger-core/blob/591d92bb1d1557bf9f9c3e7c7aa12be256009b4c/test/e2e/networks/ci.toml#L44

Removing some of the flexibility that tendermint provides, will make it easier for us to focus on LL and to more easily add e2e tests.

ref: #202

liamsi commented 3 years ago

Additionally to this, we should settle on a DB backend. Options are: "goleveldb", "cleveldb", "rocksdb", "boltdb", "badgerdb"

(cc @tzdybal)

Wondertan commented 3 years ago

@liamsi, I think that the badgerV3 is the best option for present moment

tac0turtle commented 3 years ago

Additionally to this, we should settle on a DB backend. Options are: "goleveldb", "cleveldb", "rocksdb", "boltdb", "badgerdb"

100% agree with this. Once we settle on a db we should look at optimizing for that specific DB instead of using the default.

Also agree badger seems to be best.

tzdybal commented 3 years ago

+1 for badger.

liamsi commented 3 years ago

I'm kinda surprised why everyone agrees on badger :-D Probably a very good sign. I'd like to better understand why badger is the best option before we decide on this.

liamsi commented 3 years ago

related:

liamsi commented 3 years ago

Let's continue the discussion in #211 instead. also, #208 resolves the original issue.