Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
liamsi opened this issue Mar 10, 2021 · 7 comments
Closed

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

liamsi opened this issue Mar 10, 2021 · 7 comments
Assignees
Labels
C:e2e C:tendermint-modifications Required change to core tendermint components beyond types

Comments

@liamsi
Copy link
Member

liamsi commented Mar 10, 2021

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 liamsi added C:tendermint-modifications Required change to core tendermint components beyond types C:e2e labels Mar 10, 2021
@liamsi liamsi self-assigned this Mar 10, 2021
@liamsi
Copy link
Member Author

liamsi commented Mar 10, 2021

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

(cc @tzdybal)

@Wondertan
Copy link
Member

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

@tac0turtle
Copy link
Contributor

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
Copy link
Member

tzdybal commented Mar 15, 2021

+1 for badger.

@liamsi
Copy link
Member Author

liamsi commented Mar 15, 2021

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
Copy link
Member Author

liamsi commented Mar 15, 2021

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

@liamsi liamsi closed this as completed Mar 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:e2e C:tendermint-modifications Required change to core tendermint components beyond types
Projects
None yet
Development

No branches or pull requests

4 participants