Learn how Connect works with ABCI++
The Connect sidecar is an out-of-process service that efficiently fetches prices from various data sources and runs aggregation logic to combine them into a single price for each feed. The application uses GRPC requests to the sidecar to fetch the latest updates to update on-chain prices from over 20+ providers.
Connect uses ABCI++ to separate Oracle aggregation into secure and efficient steps.
The ExtendVote
and VerifyVote
methods of ABCI++ are where a price is first queried.
providers
(e.g. Binance / Coinbase) for each currency pair.providers
.ExtendVote
method.VerifyVote
is used to ensure that the submitted data is valid—i.e. it can be unmarshalled by another validator.During PrepareProposal
, the vote extensions from the previous block are aggregated by the block proposer into their block proposal, after various checks are run on them.
For more information on vote extensions in general, refer to the Cosmos SDK docs.
ProcessProposal
is identical to PrepareProposal, except it is run on every validator to validate the block proposal.
The end of a price’s journey is in the Preblock
step.
x/oracle
module and can be queried by any application or RPC.Learn how Connect works with ABCI++
The Connect sidecar is an out-of-process service that efficiently fetches prices from various data sources and runs aggregation logic to combine them into a single price for each feed. The application uses GRPC requests to the sidecar to fetch the latest updates to update on-chain prices from over 20+ providers.
Connect uses ABCI++ to separate Oracle aggregation into secure and efficient steps.
The ExtendVote
and VerifyVote
methods of ABCI++ are where a price is first queried.
providers
(e.g. Binance / Coinbase) for each currency pair.providers
.ExtendVote
method.VerifyVote
is used to ensure that the submitted data is valid—i.e. it can be unmarshalled by another validator.During PrepareProposal
, the vote extensions from the previous block are aggregated by the block proposer into their block proposal, after various checks are run on them.
For more information on vote extensions in general, refer to the Cosmos SDK docs.
ProcessProposal
is identical to PrepareProposal, except it is run on every validator to validate the block proposal.
The end of a price’s journey is in the Preblock
step.
x/oracle
module and can be queried by any application or RPC.