livepeer requires access to an Ethereum network
for typical usage.
There are two ways you can connect to an Ethereum network: via a hosted API service or via your own self-hosted Ethereum node. Connecting to a hosted API service is recommended for users that are getting started and you always have the option to switch to your own node later on.
Hosted API services run Ethereum nodes on behalf of their users. Popular
services include Infura and
Alchemy. Be aware that these services have their own
pricing plans. That being said, the latest versions of
livepeer should be able
to stay within the request limit for Infura's free tier at least for a single
The following examples describe the required flags to connect to an Ethereum network via Infura (all other flags omitted):
To connect to mainnet:
livepeer \ -network mainnet -ethUrl https://mainnet.infura.io/v3/<PROJECT_ID> # Visit https://infura.io to obtain a PROJECT_ID
To connect to Rinkeby:
livepeer \ -network rinkeby -ethUrl https://rinkeby.infura.io/v3/<PROJECT_ID> # Visit https://infura.io to obtain a PROJECT_ID
If you want to run your own Ethereum node, you can use one of the clients listed
is recommended because it supports both mainnet and Rinkeby. Additionally, at
livepeer has been the most thoroughly tested with
geth using the
geth. The following command will sync
geth on mainnet:
geth \ -rpc \ -rpcapi eth,net,web3 \ -rpcaddr <ADDRESS> # An address to bind on is required if geth is running on a different machine than livepeer
geth is fully synced. Check that syncing is complete using the
geth will be done syncing when
eth.syncing returns false.
geth with the following flags (all other flags
livepeer \ -network mainnet \ -ethUrl http://localhost:8545 # Assumes that geth is running on the same machine as livepeer
livepeer supports the networks listed below. The required flags for connecting
to a network are described (all other flags are omitted).
Mainnet is the production public network.
livepeer \ -network mainnet -ethUrl <ETH_URL> # URL for mainnet provider
Rinkeby is the public test network.
livepeer \ -network rinkeby -ethUrl <ETH_URL> # URL for Rinkeby provider
Custom private networks where the Livepeer smart contracts are deployed can be used for development purposes.
livepeer \ -network <NETWORK_NAME> # Name of network -ethUrl <ETH_URL> # URL for private network provider -ethController <CONTROLLER_ADDR> # Address of the Controller smart contract deployed on the private network
Offchain networks that do not require interaction with the Livepeer smart contracts can be used for development purposes.
livepeer \ -network offchain