diff --git a/doc-site/docs/images/smart_contracts_async_flow.svg b/doc-site/docs/images/smart_contracts_async_flow.svg index 89634efa79..c4157d8311 100644 --- a/doc-site/docs/images/smart_contracts_async_flow.svg +++ b/doc-site/docs/images/smart_contracts_async_flow.svg @@ -1 +1,95 @@ -title%20Smart%20Contracts%20Async%20Flow%0A%0AApp-%3EFireFly%3A%20Invoke%20custom%20contract%0AFireFly-%3EBlockchain%3A%20Submit%20transaction%0ABlockchain-%3EFireFly%3A%20Accepted%0AFireFly-%3EApp%3A%20Accepted%5Cn(Operation%20ID)%0ABlockchain-%3EBlockchain%3A%20Perform%20transaction%0ABlockchain-%3EFireFly%3A%20Emit%20events%0AFireFly-%3EApp%3A%20Emit%20eventsSmart Contracts Async FlowAppFireFlyBlockchainInvoke custom contractSubmit transactionAcceptedAccepted(Operation ID)Perform transactionEmit eventsEmit events \ No newline at end of file + + + + + + + + + + + + Smart Contracts Async Flow + + + + App + + + FireFly + + + Blockchain Connector + + + Blockchain + + + + + + + + + + + Invoke custom contract + + + + Submit transaction + + + + Transaction accepted + + + + Submitted + (Operation ID) + + + + Submit transaction + + + + Perform + transaction + + + + Retrieve receipt/confirmation + + + + Return transaction receipt + + + + Forward transaction receipt + + + + Update operation + + + + Emit blockchain events + + + + Forward interested blockchain events + + + + Store events in database + + + + Emit blockchain_event_received + + + + App can subscribe to events via WebSockets or Webhooks + diff --git a/doc-site/docs/tutorials/custom_contracts/index.md b/doc-site/docs/tutorials/custom_contracts/index.md index 70a4467cd0..90cb9d5c21 100644 --- a/doc-site/docs/tutorials/custom_contracts/index.md +++ b/doc-site/docs/tutorials/custom_contracts/index.md @@ -49,8 +49,6 @@ Like the rest of FireFly, custom onchain logic support are implemented with an a - The transaction itself happens asynchronously from the HTTP request that initiated it - Blockchain events emitted by the custom onchain logic (Ethereum smart contracts, Fabric chaincodes, Corda flows, etc.) will be stored in FireFly's database if FireFly has a **Event Listener** set up for that specific type of event. FireFly will also emit an event of type `blockchain_event_received` when this happens. - - ![Smart Contracts Async Flow](../../images/smart_contracts_async_flow.svg "Smart Contracts Async Flow")