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

[EPIC] Gordian Core Interfaces (UX? Docs? Launch?) #9

Open
19 tasks
jackzampolin opened this issue Aug 16, 2024 · 1 comment
Open
19 tasks

[EPIC] Gordian Core Interfaces (UX? Docs? Launch?) #9

jackzampolin opened this issue Aug 16, 2024 · 1 comment

Comments

@jackzampolin
Copy link
Contributor

A key part of gordian is the ability to easily modify subsystems to suit the need of the application. This feature is enabled by the design of the codebase with a focus on modularity. In order to help kickstart external contributions and reduce friction for new users we should:

  1. Have an explainer doc with all the core interfaces and their functions w/in the codebase. Audience for this doc is developers either implementing gordian in their SDK app (i.e. explains how to compose the different interfaces) or developers looking to implement these interfaces.
  • MarshalCodec - tm/tmcodec/codec.go
  • ConsensusStrategy - tm/tmconsensus/consensusstrategy.go
  • ConsensusHandler - tm/tmconsensus/handler.go
  • HashScheme - tm/tmconsensus/hashscheme.go
  • SignatureScheme - tm/tmconsensus/signaturescheme.go
  • TimeoutStrategy - tm/tmengine/timeoutstrategy.go
  • gossip.Strategy - tm/tmgossip/strategy.go
  • network.Connection - tm/tmp2p/network.go`
  • network.ConsensusBroadcaster - tm/tmp2p/network.go
  • ActionStore - tm/tmstore/actionstore.go
  • BlockStrore - tm/tmstore/blockstore.go
  • FinalizationStore - tm/tmstore/finalizationstore.go
  • MirrorStore - tm/tmstore/mirrorstore.go
  • RoundStore - tm/tmstore/roundstore.go
  • ValidatorStore - tm/tmstore/validatorstore.go
  • MerkleScheme - gmerkle/merkle.go
  • Signer - gcrypto/signer.go
  • PubKey - gcrypto/pubkey.go
  • CommonMessageSignatureProof - gcrypto/commonmessagesignatureproof.go
  1. List all existing implementations for these interfaces and ideas for future work. Ideally this points out which interface implementations are "production" ready and/or "help wanted". We should also write issues for each help wanted with pointers on how to get started on that particular interface. (cc @jpb, @beckettsean)

  2. Have a single example of how to implement the crypto signer interfaces in rust using a grpc serivce

@jonathanpberger jonathanpberger changed the title [Epic] Gordian Core Interfaces (UX? Docs? Launch?) [EPIC] Gordian Core Interfaces (UX? Docs? Launch?) Aug 26, 2024
@jackzampolin
Copy link
Contributor Author

Lets make these docs in godocs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant