Livepeer Contratos de Blockchain
Livepeer utiliza un sistema integral de contratos inteligentes de Ethereum para gobernar su red descentralizada sin permisos. El Livepeer Protocol está actualmente desplegado en Arbitrum One y utiliza una colección de contratos inteligentes de Ethereum para gobernar:- Propiedad y delegación de LivepeerToken (LPT)
- Staking y selección de operadores de transcodificación activos (orquestadores)
- Distribución de recompensas inflacionarias y tarifas a los participantes
- Progresión basada en tiempo del protocolo a través de rondas
- Procesamiento de pagos mediante un sistema de micropagos probabilístico
- Contratos del Protocolo Principal
- Sistema de Tokens
- Gobernanza
Arquitectura de Interacción de Contratos
Así es como estos contratos interactúan entre sí: FIX THIS DIAGRAM - unreadable
Contratos del Protocolo Central
Los contratos del protocolo central son la columna vertebral del Livepeer Protocol. Gestionan el staking, la delegación y la distribución de recompensas para los orquestadores. También gestionan la progresión basada en tiempo del protocolo mediante rondas y el procesamiento de pagos a través de un sistema de micropagos probabilístico. El Controller actúa como el registro central, permitiendo actualizaciones al actualizar las direcciones de implementación Maybe put in tab view for better layout
Controller: Contract Registry
El Controller es el registro central para todos los contratos del protocolo. Todos los contratos del protocolo consultan al Controller para obtener las direcciones de otros contratos con los que necesitan interactuar.Controller
Controller
The Controller acts as the central registry for all other contract addresses in the protocol.It maintains a mapping of contract IDs to their addresses, enabling protocol upgrades by updating the registered implementation addresses.
It uses Keccak256 hashes of contract names as keys to store their addresses, enabling upgradeable architecture without changing the Controller address itself.Address:See on ArbiscanPurpose:
- Central address registry for all protocol contracts
- Enables contract upgrades while maintaining a stable entry point
- Provides pause functionality for emergency situations
getContract()- Get address of a contract by namesetContract()- Set address of a contract by namepause()/unpause()- Emergency pause for critical situations

BondingManager: Staking & Delegation
El BondingManager es el contrato más crítico que gestiona la economía de staking, el registro de orquestadores y la distribución de recompensas.BondingManager
BondingManager
Address:See on ArbiscanPurpose:
- Manages the transcoder (orchestrator) pool as a sorted linked list
- Handles bonding (staking) and delegation to orchestrators
- Distributes inflationary rewards and fees
- Manages unbonding periods and withdrawals
- Tracks earnings and claims
Bond()- Delegate stake to an orchestratorTranscoder()- Register as an orchestrator with reward/fee parametersUnbond()- Start withdrawal process (with lock period)Reward()- Called by orchestrators to mint inflationary rewardsClaimEarnings()- Claim accumulated rewards and fees
TicketBroker: Probabilistic Micropayments
El TicketBroker gestiona el sistema de pagos fuera de cadena usando micropagos probabilísticos para los pagos de broadcaster a orchestrator.TicketBroker
TicketBroker
Purpose:
- Holds broadcaster deposits and reserves for micropayments
- Validates and settles winning payment tickets
- Manages unlock/withdrawal periods for broadcasters
- Tracks claimed reserves per orchestrator
FundDepositAndReserve()- Broadcaster deposits funds for paymentsRedeemWinningTicket()- Orchestrator redeems a winning ticketUnlock()- Start withdrawal processWithdraw()- Complete withdrawal after unlock period
RoundsManager: Protocol Time Management
El RoundsManager gestiona el sistema de rondas basado en tiempo del protocolo, donde cada ronda tiene una longitud de bloque fija.RoundsManager
RoundsManager
Purpose:
- Defines protocol rounds (epochs) of fixed block length
- Tracks round initialization and locking
- Provides block hashes for ticket validation
- Coordinates time-based protocol operations
InitializeRound()- Initialize new roundCurrentRound()- Get current round numberBlockHashForRound()- Get L1 block hash for ticket validation
Minter: Token Inflation
El Minter controla la inflación del suministro de tokens que recompensa a los orquestadores activos.Minter
Minter
Purpose:
- Manages LPT token inflation schedule
- Calculates mintable tokens per round
- Adjusts inflation based on target bonding rate
- Called by BondingManager during reward distribution
CurrentMintableTokens()- Calculate tokens to mint for rewardsInflation(),InflationChange()- Query inflation parameters
ServiceRegistry: Orchestrator Discovery
El ServiceRegistry asigna direcciones Ethereum a URIs de servicio para el descubrimiento de orquestadores.ServiceRegistry
ServiceRegistry
Purpose:
- Allows orchestrators to advertise their network endpoints
- Enables broadcasters to discover and connect to orchestrators
- Stores URI strings on-chain
SetServiceURI()- Orchestrator registers their endpointGetServiceURI()- Query orchestrator’s service URL
MerkleSnapshot
MerkleSnapshot crea una instantánea del pool de staking en una ronda dada y genera una raíz merkle para delegación verificable.MerkleSnapshot
MerkleSnapshot
Purpose:
- Creates a snapshot of the staking pool at a given round
- Generates a merkle root for verifiable delegation
- Used for delegator rewards and governance
CreateSnapshot()- Create snapshot at current roundMerkleRoot()- Get merkle root for a round
Contratos de Token y Utilidad
LivepeerToken (LPT): ERC20 Token
Ethereum Mainnet Only The LivepeerToken es el token nativo del protocolo utilizado para staking, pagos y gobernanza basado en el ERC-20 estándar.LivepeerToken
LivepeerToken
Purpose:
- ERC20 token for all economic activity in the network
- Used for bonding/staking to orchestrators
- Required for broadcaster deposits and payments
- Governance voting weight
Transfer(),BalanceOf(),TotalSupply()- Standard ERC20 operationsApprove()- Required before bonding or funding deposits
BridgeMinter: Token Bridge
Ethereum Mainnet Only El BridgeMinter es un contrato de acuñación que crea LPT tokens en la red Arbitrum One cuando recibe un depósito válido de la red principal de Ethereum.BridgeMinter
BridgeMinter
Purpose:
- Mints LPT tokens on Arbitrum One when it receives a valid deposit from the Ethereum mainnet
LivepeerTokenFaucet: Test Token Distribution
Testnets Only El LivepeerTokenFaucet se utiliza en testnets para distribuir tokens de prueba LPT.LivepeerTokenFaucet
LivepeerTokenFaucet
Purpose:
- Provides test tokens on testnets
- Rate-limited token requests
- Development and testing support
Contratos de Gobernanza
Gobernador: Contract Upgrades
Gobernador maneja actualizaciones del protocolo mediante un proceso de propuesta y ejecución de transacciones de varios pasos.Governor
Governor
Purpose:
- Handles protocol upgrades through a multi-step transaction proposal and execution process
Propose()- Submit a new proposalQueue()- Queue a proposal for executionExecute()- Execute a queued proposal
LivepeerGovernor: Protocol Governance
El LivepeerGovernor implementa gobernanza en cadena para actualizaciones del protocolo y cambios de parámetros.LivepeerGovernor
LivepeerGovernor
Purpose:
- On-chain voting on protocol proposals
- Weighted by bonded stake
- Implements governance mechanisms
CastVote()- Vote on governance proposalsCastVoteWithReason()- Vote with explanation
Tesorería: On-chain Treasury Management
Tesorería gestiona la tesorería on-chain para financiación y contabilidad.Treasury
Treasury
Purpose:
- Manages protocol treasury for funding
- Tracks allocations and expenditures
- Funds Special Purpose Entities (SPEs)
Deposit()- Add funds to the treasuryWithdraw()- Allocate funds to recipients