You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Should crypto and config be factored out of the tendermint crate into their own crates? config doesn't have any unique dependencies and crypto will always be needed by the tendermint crate. I guess the question is if there's a use case for importing crypto without importing the rest of the tendermint crate?
lite module should be removed now that light-client crate is in place. Is there anything left to take from it? Can it just be deleted outright? Alternatively, if the light-client is type generalized (per light-client: Type Generalization #416 ), then tendermint crate may still need a light module with its implementation of the light-client types?
should p2p specific types (channel, moniker, net, node) be moved to the new p2p crate? Or at least into their own high level p2p module in the tendermint crate?
What else might bring clarity to where/how certain types and functionality are used?
The text was updated successfully, but these errors were encountered:
crypto and config are definitely great candidates for a tendermint-crypto/tendermint-config crates. crypto would be useful independently anywhere you want support for key formats and cryptography ops. I'll note we're presently using the config crate with Sagan (to parse various validator settings from the config, as Sagan runs as a sidecar), but I imagine it'll eventually be useful for a Rust full node as well.
Moving the modules you suggested to the tendermint-p2p crate might make sense. Pretty much everything we've written so far (TMKMS, Sagan, Delphi) relies on the net types in some form, but TMKMS is the only thing using p2p at the moment.
This is a follow/update to #7. Splitting it into two sections: high level repo structure, and re-organization of
tendermint
crateRepo structure:
The
tendermint
crate is still a jumble of top level modules with minimal organizational structure. Some tasks and questions we should figure out:crypto
andconfig
be factored out of thetendermint
crate into their own crates?config
doesn't have any unique dependencies andcrypto
will always be needed by the tendermint crate. I guess the question is if there's a use case for importing crypto without importing the rest of the tendermint crate?lite
module should be removed now thatlight-client
crate is in place. Is there anything left to take from it? Can it just be deleted outright? Alternatively, if thelight-client
is type generalized (per light-client: Type Generalization #416 ), thentendermint
crate may still need alight
module with its implementation of thelight-client
types?p2p
crate? Or at least into their own high levelp2p
module in thetendermint
crate?The text was updated successfully, but these errors were encountered: