1.4 KiB
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.