question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

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:

  1. Tag and TxQuery should be split to allow having different types in BcpConnection and in @iov/tendermint-rpc: TendermintQueryTag / BcpQueryTag and TendermintTxQuery / BcpTxQuery.
  2. PrivateKeyBytes and PrivateKeyBundle should move to @iov/bns and should not be exported as they are only used in bns codec tests
  3. Make SignatureBundle available in @iov/tendermint-rcp only and rename to VoteSignatureBundle

The rest can go to a package called @iov/base-types for now.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
webmaster128commented, Nov 8, 2018

I found a nice way to move buildTxQuery(query: BcpTxQuery): QueryString into @iov/bns and keep a simple buildTagsQuery(tags: ReadonlyArray<QueryTag>): QueryString for internal use in @iov/tendermint-rpc

0reactions
webmaster128commented, Nov 9, 2018

Extracted https://github.com/iov-one/iov-core/issues/520, the rest is done. The result makes me very happy.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found