Faucet Service

Goal

  • To micro-credit addresses using a faucet.

Prerequisites

  • Having a credited address to serve as faucet.

Overview

In order to submit a transaction to the blockchain, a fee needs to be payed to cover for the computational power used to mine this transaction. Thus if an address has not enough credit to pay for this fee transactions will not be mined.

Note

On Ethereum, the computational effort needed to execute an operation is measured in Gas, and this Gas is payed in Ether or Wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Ethereum network.

1 Ether = 1,000,000,000,000,000,000 Wei (1018).

A faucet is a credited address used to micro-credit users’ addresses. In the context of Orchestrate the faucet will be an address held by system administrators.

For the betterment of the user experience, Orchestrate allows us to credit users’ addresses with micro-amounts of Ether, to ensure that all submitted transactions will be mined on the blockchain.

The Faucet Service can be used by:

  1. Tx-Signer worker to micro-credit users’ addresses at the moment of their creation, as a one-time operation:

We can configure the Tx-Signer worker to enable this service, which will automatically micro-credit an address right after creating it, using the Faucet Service.

  1. Tx-Crafter worker to micro-credit users’ addresses when submitting transactions, as a recurrent operation:

We can enable this service configuring the Tx-Crafter worker.

The Faucet Service allows to configure the following controllers to avoid malicious use of the service:

  • Blacklist: list of malicious addresses that wont be allowed to use the Faucet Service;
  • Cooldown: a lapse of time to be waited before crediting an address for a consecutive time;
  • Max: a maximum balance of an address for it to be credited.