osmosis icon indicating copy to clipboard operation
osmosis copied to clipboard

docs: prepare onboarding material for Osmosis chain dev

Open p0mvn opened this issue 3 years ago • 4 comments

Background

We should have onboarding material across various levels of the tech stack to help new engineers understand the full scope of the project. The following components should be considered:

  • Tendermint / ABCI (consensus layer)
  • IAVL (storage layer)
  • SDK
    • snapshots
    • pruning
    • other SDK related features
    • core modules used by our project
  • Osmosis app
    • core modules

The onboarding material should be concise, without going into much detail. The expectation is that this document is to be the first material to be looked at when onboarding on Osmosis. Links should be added for each topic to be explored in more depth on a needs basis.

p0mvn avatar May 02 '22 21:05 p0mvn

I love the motivation, but I've seen this time and time again, eventually the docs fall out of date/sync and folks end up referencing material that is no longer relevant. Do you mean documentation of these concepts in relation to Osmosis?

alexanderbez avatar May 03 '22 15:05 alexanderbez

I'm imagining a powerpoint, that has a brief descriptions of the various components of the stack, and known problems we face from them, e.g.:

  • P2P layer, security concerns, gets overloaded very quickly, lots of annoying logs
  • Mempool layer, FIFO txs, Runs ABCI CheckTX. (Which runs antehandler middleware & msg.ValidateBasic), builds txs based off of GasWanted.
  • Tendermint Consensus, there exist prevote, precommits, and round increases. Some info on double signs
  • ABCI, (CheckTx, DeliverTx, Commit) expectations
  • ABCI++ (can just copy existing slides)
  • State machine
  • IAVL exists, is slow. We do one big write at end of block
  • what is app module vs other modules
  • Structure of a cosmos module
  • Links to important genera info to have (staking)
  • Osmosis repo modules
    • Epochs, superfluid, gamm, lockup, incentivess
    • Diagram of how they link together

As far as I know, haven't seen any high level explanations to show to new folks. I end up doing that on calls at the moment, in very ad-hoc ways

ValarDragon avatar May 03 '22 16:05 ValarDragon

Nice! Yeah a PDF on this would be dope. I like the idea!

alexanderbez avatar May 03 '22 21:05 alexanderbez

Not sure if you're familiar with markdown slides but it may be an easy way to keep it maintainable while still having it show up in slide format

nicolaslara avatar Aug 02 '22 08:08 nicolaslara

ref: https://github.com/cosmos/cosmos-sdk/issues/13171

Just linking this to port some ideas over when we start working on this

p0mvn avatar Sep 07 '22 16:09 p0mvn