dappnode / DAppNodeSDK

dappnodesdk is a tool to mantain dappnode packages. It helps to initialize and publish an Aragon Package Manager Repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shared volumes and processes between packages

lgaroche opened this issue · comments

commented

Is your feature request related to a problem? Please describe.

Otterscan uses a patched version of Erigon's rpcdaemon module. I didn't manage to make it work using the remote TCP connection between rpcdaemon and Erigon. However it works like a charm if I use it in "local mode", i.e by sharing Erigon's datadir and using the same PID namespace for rpcdaemon and Erigon containers.

Describe the solution you'd like

A solution would be to allow sharing volumes and PID namespaces between packages. It would allow this package source to build with the sdk.

Describe alternatives you've considered

  1. Fix the remote rpcdaemon issue: Remote Erigon node unresponsive when searching in Otterscan #383 - However, according to rpcdaemon's readme, performance is way better in local mode
  2. Build an alternative Erigon package from Otterscan's fork - Does that mean a full resync? As it is a core package, will it be considered as a EL client in the dappnode UI ?
commented

I'm not the expert here but AFAIK sharing the data dir would have a lot of critical security implications with the current implementation of the JWT needed to authenticate CL EL communication. And while erigon is maintained by the core team it's not a core package. And is too unstable currently even to use as a repo client which is why it's not an option currently. But our Docker experts will have a better response. @eduadiez @pablomendezroyo

hey! thanks for the issue, actually it is available to share the process between services in the same DAppNode package. You must use the following syntax in the compose:

services:
  erigon:
    ...
  rpcdaemon:
    pid: "service:erigon"

Actually, the Erigon package was split into two services: rpcdaemon and erigon. Check it out at dappnode/DAppNodePackage-erigon@d8e60bd

Already supported