Implement crash recovery for all SATP phases and communicate abnormalities to other Cacti nodes #3114
Labels
IETF-SATP-Hermes
Related to the Secure Asset Transfer Protocol as defined by the Internet Engineering Task Force.
SATP-Hermes has capacity to recover from failure (if a gateway goes down in the middle of a transfer, we need to make sure the state is still consistent).
Requirements:
1- update the already implemented recovery messages according to the latest Crash recovery draft. Please make sure to update the corresponding tests. Let us start with a local database sqlite (knex), and later add a distributed database.
2- Add support for logging. 1) For tests, run knex in memory (there are examples in Andres code). Add support for production (a script in package .json that creates a knex database via docker, logs are written there).
2- Implement crash recovery for other steps of the protocol, and implement tests for each. See old implementation (we need to provide a new one for the new codebase): Endpoints: d9b70e1#diff-5411943a91b209266cb4e736be0041a429d269400ebc79611682f6805001bd49
Code: d9b70e1#diff-5a137c86e2e77523a7b83b071465ec6f7b0c8ad187201cdb607b758a8f96f9ea
3- Implement organizational interoperability strategies for crash recovery: when gateway crashes emit an event (see https://rxjs.dev/guide/observer as a possible solution); see other situations that require communication with other Cacti nodes within SATP context. See communication code by Eduardo to implement this.
4 - Scientific component: technical report or academic paper showcasing how the steps 2 and 3 increase the resilience of blockchain gateways and improve communication across stakeholders.
Resources:
The text was updated successfully, but these errors were encountered: