Split @iov/tendermint-types
See original GitHub issue@iov/tendermint-types somehow became home of very generic types we use everywhere. But it should be possible to use IOV-Core without Tendermint-chains and without the term “tendermint” in packages.
In there we currently have
// keys
enum Algorithm
type PrivateKeyBytes
interface PrivateKeyBundle
type PublicKeyBytes
interface PublicKeyBundle
// network
type ChainId
// transactions
type SignatureBytes
interface SignatureBundle
type PostableBytes
type TxId
interface TxQuery
interface Tag
Tendermint types used by tendermint:
Type name | used in @iov/tendermint-rpc | used in @iov/bcp-types | used in @iov/bns |
---|---|---|---|
Algorithm | ✅ | (implicitly in PublicKeyBundle) | ✅ |
PrivateKeyBytes | - | - | ✅ |
PrivateKeyBundle | - | - | ✅ |
PublicKeyBytes | ✅ | (implicitly in PublicKeyBundle) | ✅ |
PublicKeyBundle | ✅ | ✅ | ✅ |
ChainId | ✅ | ✅ | ✅ |
SignatureBytes | ✅ | ✅ | ✅ |
SignatureBundle | ✅ | - | - |
PostableBytes | ✅ | ✅ | ✅ |
TxId | ✅ | ✅ | ✅ |
TxQuery | ✅ | ✅ | ✅ |
Tag | ✅ | ✅ | ✅ |
Ideas for improvements:
Tag
andTxQuery
should be split to allow having different types in BcpConnection and in @iov/tendermint-rpc:TendermintQueryTag
/BcpQueryTag
andTendermintTxQuery
/BcpTxQuery
.PrivateKeyBytes
andPrivateKeyBundle
should move to @iov/bns and should not be exported as they are only used in bns codec tests- Make
SignatureBundle
available in @iov/tendermint-rcp only and rename toVoteSignatureBundle
The rest can go to a package called @iov/base-types
for now.
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Split Evaluator - Split Help Center
Performs multiple evaluations at once. In this case it will match all the splits for a given traffic-type and will perform a getTreatments...
Read more >types - Go Packages
Repository. github.com/tendermint/tendermint ... func (ps *PartSet) GetPart(index int) *Part; func (ps *PartSet) GetReader() io.
Read more >Creating a built-in application in Go - Tendermint Core
Tendermint Core communicates with the application through the Application BlockChain Interface (ABCI). All message types are defined in the protobuf file (opens ...
Read more >Tendermint 0.10.2 - Jepsen
Tendermint supports dynamic cluster membership: a special transaction type allows operators to reweight validator votes, add new validators, or ...
Read more >Tendermint: Byzantine Fault Tolerance in the Age of Blockchains
Raft took pains to expound a sound protocol for validator set changes, which required the change pass through consensus, using a new message...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I found a nice way to move
buildTxQuery(query: BcpTxQuery): QueryString
into @iov/bns and keep a simplebuildTagsQuery(tags: ReadonlyArray<QueryTag>): QueryString
for internal use in @iov/tendermint-rpcExtracted https://github.com/iov-one/iov-core/issues/520, the rest is done. The result makes me very happy.