gouroboros
gouroboros copied to clipboard
Go implementation of the Cardano Ouroboros family of protocols
We already started doing this with `local-tx-monitor`, but the existing stuff needs to be migrated
We currently propagate the `EOF` returned by the underlying read call, but we could capture this and return a better error such as `the peer closed the connection` or `the...
This callback is expected to support a blocking operation, but there's no signal to know if the connection has shut down while we're waiting. Provide a channel to the callback...
Seen in https://github.com/blinklabs-io/gouroboros/actions/runs/7027883148/job/19122981742?pr=437 ``` === RUN TestServerHandshakeRefuseVersionMismatch panic: parsed message does not match expected value: got &handshake.MsgRefuse{MessageBase:protocol.MessageBase{_:struct {}{}, rawCbor:[]uint8{0x82, 0x2, 0x82, 0x0, 0x88, 0x19, 0x80, 0xd, 0x19, 0x80, 0x9, 0x19,...
We want to make sure that only a single goroutine has control over a particular connection at any given time
This will allow automatically maintaining a configured number of cold/warm/hot connections to a set of configured peers
We want the connection manager to be able to know things like whether a connection is half-/full-duplex, whether it's in active use (has "running" protocols), etc.
It's useful to be able to determine the block or transaction type ID after parsing from CBOR. Include an extra field (and perhaps a helper function to retrieve it) in...
is there any secp256k1 transaction on mainnet ?
The handshake protocol has a separate mode that queries available versions rather than performing a handshake. This operation must be done on a fresh connection, which then cannot be used...