@fluencelabs/aqua-eth-gateway

0.0.16 • Public • Published

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.

Dependencies (4)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @fluencelabs/aqua-eth-gateway

    Weekly Downloads

    12

    Version

    0.0.16

    License

    Apache-2.0

    Unpacked Size

    79.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • justprosh
    • fluencebot
    • cocomonoid
    • shamsartem
    • folex-fluence
    • diemyst