-
Notifications
You must be signed in to change notification settings - Fork 1
Hydra compatibility #66
Comments
Some thoughts: Ogmios compatibility with Hydra will be challenging but doable. My fear is to turn Ogmios into something a bit too frankenstein-ish as many parts will have to be conditionally disabled. Ogmios actually runs all 4 mini-protocols clients behind the scene and keep long-lasting connections to the node. That is necessary in many cases to smooth the user experience down the line and provide features that aren't available from the mini protocols out-of-the-box (like transaction evaluation). Looking at the
|
I agree with you 100%, we don't need a modified Ogmios, we could have a pub trait Submitter {
fn evaluate_transaction(
&self,
tx_builder: &csl::tx_builder::TransactionBuilder,
plutus_scripts: &Vec<csl::plutus::PlutusScript>,
redeemers: &Vec<csl::plutus::Redeemer>,
) -> impl Future<
Output = Result<
BTreeMap<(csl::plutus::RedeemerTag, csl::utils::BigNum), csl::plutus::ExUnits>,
SubmitterError,
>,
>;
/// Submit a fully build and balanced tranasaction
fn submit_transaction(
&self,
tx: &csl::Transaction,
) -> impl Future<Output = Result<TransactionHash, SubmitterError>>;
/// Wait for transaction confirmation on the chain
fn await_tx_confirm(
&self,
tx_hash: &TransactionHash,
) -> impl Future<Output = Result<(), SubmitterError>>;
} I remember we discussed the
|
On the
|
Within few milliseconds. So instantaneous for us humans, but still taking some time for a computer 😶.
Feels a lot like what kupo provides, unless I am missing something?
Yes! Kupo does it 😄! ( https://github.com/CardanoSolutions/kupo/blob/master/src/Kupo/App/ChainSync/Hydra.hs ) |
Okay, I wanted to avoid pulling in another component, maybe we'll need to implement a general UTxO storage in our indexer. |
Required work to make this happen
The text was updated successfully, but these errors were encountered: