Skip to content

Idempotency API's

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

Clone this wiki locally