High Level Plan for marlowe-sync #420
jhbertra
started this conversation in
Architecture
Replies: 1 comment 1 reply
-
Here are the key points about awkward use cases mentioned in the meeting:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm starting this discussion for us to lay out and agree upon a high-level plan for the new runtime component
marlowe-sync
(unification for and replacement ofmarlowe-history
andmarlowe-discovery
).Problems to Address
MarloweSync
protocol.marlowe-history
are complicated significantly by the requirement to explicitly follow / unfollow contracts, which makes replacing the backend and servicing certain queries hard.High Level Plan
marlowe-sync
(marlowe-contract-indexer
andmarlowe-syncd
to mirror the design and scalability goals ofchain-indexer / chainseekd
)a.
marlowe-contract-indexer
connects tochainseekd
and transcribes marlowe transactions to a postgres database.b.
marlowe-syncd
binds to a socket and accepts incoming client connections on one of the application protocols.MarlowetSync
andMarloweHeaderSync
ports frommarlowe-syncd
MarloweBulkSync
port frommarlowe-syncd
a. Like
MarloweSync
but it emits the full history of every contract on chain.a.
GetContractHeader
- returns the header info for a contractb.
GetContractState
- returns the current state of the contractc.
GetContractForTransaction
- returns the contract header for a given Marlowe transaction IDd.
GetTransaction
- returns the transaction information for a given Marlowe transaction IDmarlowe-history
andmarlowe-discovery
to depend onmarlowe-sync
insteadmarlowe-history
andmarlowe-discovery
to depend onmarlowe-sync
instead.Beta Was this translation helpful? Give feedback.
All reactions