Decide whether to run a Provider service per parachain/blockchain
Opened this issue · 0 comments
forgetso commented
The eventual aim is to deploy to multiple chains. Therefore, the Provider must be able to determine the chain associated with the captcha request. This is needed to write the results to the correct contract.
Single service
- Single service origin (X.X.X.X:6767)
Pros
- Database access more easily regulated with queuing built in
- Smaller attack surface
- Easier setup process and upgrade path
Cons
- More complex internal logic
- Chain ID (what would this be?) must be passed to provider
Multiple Services
- One service origin per chain stored in the contract (Chain1: X.X.X.X:6761, Chain2: X.X.X.X:6762)
- Database side locking required or separate queue layer
Pros
- Reduced complexity per service
- Independent chain upgrades possible
Cons
- Many processes per node
- Harder setup process and upgrade path
- Lesser multi-chain adoption due to many services per node?