renovate[bot] 1bbd3eab4c
fix(deps): update fluence js (#443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-25 18:44:58 -05:00
..
2023-02-21 16:31:21 +04:00
2023-02-21 16:31:21 +04:00
2023-02-23 14:30:49 +04:00
2023-02-23 14:31:57 +04:00

Aqua Ethereum Gateway

Gateway represents access to different Ethereum API providers (infura, alchemy). It can be used with Web3 client and load balancing requests between different providers.

Installation

npm install -g @fluencelabs/aqua-eth-gateway

Example

aqua-eth-gateway path/to/config.json

where config is:

{
  "providers": [
    "https://goerli.infura.io/v3/your-api-key",
    "https://eth-goerli.g.alchemy.com/v2/your-api-key"
  ],
  "mode": "random",
  "relay": "fluence/peer/address",
  "serviceId": "eth-rpc serviceId",
  "port": 3000,
  "counterServiceId": null,
  "counterPeerId": null,
  "quorumServiceId": null,
  "quorumPeerId": null,
  "quorumNumber": null,
  "quorumTimeout": null,
  "requestTimeout": null
}

counterServiceId and counterPeerId is credentials to counter service for round-robin mode. Will be used local counter if undefined. quorumServiceId and quorumPeerId is credentials to counter service for round-robin mode. Will be used local counter if undefined. quorumNumber is 2 by default. quorumTimeout is how long we will wait for all responses requestTimeout is how long we will wait for aqua request

Mode

random - choose providers randomly round-robin - choose providers in circle order quorum - call all providers and choose the result that is the same from >= quorumNumber providers. Or return an error.