Livepeer Node contains services and command-line tools for the Livepeer network. It includes an orchestrator for Livepeer runners, a remote signer for network payments and orchestrator discovery, and a protocol CLI for managing wallets, staking, earnings, funding, governance, and local signing.
| Executable | Role |
|---|---|
livepeer |
Runs the bundled component commands. |
livepeer-orchestrator |
Registers runners, reserves sessions, proxies traffic, and redeems payment tickets. |
livepeer-signer |
Signs identities and payments, discovers orchestrators, and optionally publishes accounting events. |
livepeer-chain |
Inspects accounts and contracts, manages wallets, staking, earnings, funds, and governance, and signs files locally. |
The orchestrator supports persistent and single-shot sessions, HTTP streaming, server-sent events (SSE), WebSockets, and Trickle channels. It can run locally without payments or use Ethereum payment tickets. The signer requires chain configuration.
Install Go 1.27.1 or newer, then run from the repository root:
make build
bin/livepeer version
bin/livepeer orchestrator --helpThis example forwards a request to a small HTTP service. It runs off-chain.
In one terminal, start the example runner:
while true; do
printf 'HTTP/1.1 200 OK\r\nContent-Length: 24\r\nConnection: close\r\n\r\nhello from local runner\n' | \
nc -l 127.0.0.1 9000 >/dev/null || break
doneIn a second terminal, from the repository root, start the orchestrator:
bin/livepeer orchestrator --config configs/orchestrator/local.example.tomlIn a third terminal, check readiness, discovery, and forwarding. Allow up to five seconds for the first runner health check before checking discovery:
curl -fsS http://127.0.0.1:8936/readyz
curl -fsS http://127.0.0.1:8935/discovery
curl -fsS http://127.0.0.1:8935/apps/local-runner/app/helloExpect ready, a discovery entry for local-runner, and
hello from local runner. Readiness uses the separate metrics port. Stop the
runner and orchestrator with Ctrl-C in their terminals.
Use configuration and secrets for credentials, encrypted Ethereum keystores and password files, and probe addresses. Then follow the component guides:
- Orchestrator: dynamic/static runners, networking, TLS, proxy URLs, limits, and payments.
- Signer: chain access, price limits, authorization, and Kafka accounting.
- Chain commands: inspecting accounts, previewing and submitting transactions, and signing files locally.
- Payment recovery: backups, restart, and uncertain transaction recovery.
- Staging and cutover: checks against your chain and contracts before moving production traffic.
Chain state changes perform a dry run by default. Add --submit to broadcast
and wait for successful inclusion. Use --no-wait for a single transaction
without replacements. Trickle retains five segments per channel, with a 10 MB
limit per segment and no global byte cap.
For tests, SDK fixtures, and packaging, see development. The documentation index links the operating guides and protocol references.
Imported or adapted code retains its original MIT notice in MIT notice.