You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alex Shorsher edited this page Nov 29, 2022
·
3 revisions
Overview
FireFly core supports API calls being made idempotent as of release 1.1.2.
API callers can provide their own unique identifier (an arbitrary string up to 256 characters) that uniquely identifies the request they are submitting. So if there is a network connectivity failure, or an abrupt termination of either runtime, the application can safely attempt to resubmit the REST API call and be returned a 409 Conflict HTTP code.
Messages, custom contract invocations, publishing custom contract APIs, and token transfer requests support the idempotencyKey field within the request body.
Idempotency within plugins
FireFly already uses an idempotent interface downstream to key plugins:
EVMConnect blockchain operations - fully idempotent, using the operation ID
Token operations - inherit idempotence from the blockchain connector they communicate with
The interface between FireFly and EthConnect for blockchain operations is not currently fully idempotent. The recommended choice for EVM compatible blockchain connector is FireFly EVMConnect