[go: up one dir, main page]

Injector: standalone injector binary/daemon

For tests, we could run the injector in a standalone process (and check, e.g., that it can handle migration seamlessly):

  • New octez-injector binary in src/bin_injector
  • Should support a subset of manager operations (iteratively), e.g.:
    1. transactions and smart contract calls only (for first version)
    2. maybe some SCORU operation in a second time
    3. smart contract originations
  • Type of injector operations that are common to all protocols (see item above)
  • Registration of protocol code should be done in proto_*/lib_injector for all active protocols (adapt code from src/proto_alpha/lib_sc_rollup_node/injector.ml)
  • The injector daemon should run an RPC server, with the services:
    • POST /inject to send an injection query which returns the id/hash of the injector operation (could also accept a list)
    • GET /operation/{id}/status to retrieve the injection status (pending, injected, included, confirmed, etc.) of an operation
    • DELETE /operation/{id} to remove an operation from the queue
    • GET /stats to get some statistics about the injector, e.g. the size of the queue, etc.
Edited by Alain Mebsout