Livepeer Aragon App
Follow these instructions to install this app in any Aragon DAO..
If you are already a power user of aragonCLI, you can create a DAO-based Transcoder using this script.
Livepeer is a delegated-proof-of-stake protocol which governs the operation of a network of Transcoder nodes. Aragon is a project to empower freedom by creating tools for decentralized organizations to thrive. Both projects run on Ethereum blockchain.
This app empowers a "Decentralized Autonomous Organisation" (DAO) on Aragon's platform to govern the roles of Delegator and Transcoder in Livepeer's protocol.
You can support this project by BONDING your Livepeer Tokens (LPT) using the project's Transcoder page on Livepeer's Protocol Explorer.
It currently includes the ability to call the following smart contract functions on Livepeer's protocol, and for the functions' execution to be governed by a vote of the DAO:
- Delegator functions:
- Transcoder functions:
In the above example,
reward was called without requiring a vote. See here for more information.
Reference Implementation and Installation
A reference implementation of this application can be found in this Aragon DAO running on Rinkeby Ethereum testnet.
Follow these instructions to install this app in any Aragon DAO.
The project is currently researching how it would be possible to modify go-livepeer to enable Livepeer's node software to interact with the livepeer protocol via the Livepeer Aragon App. Initial discussions on this can be found here: https://github.com/livepeer/research/issues/13.
In addition to this, further changes will likely be required as part of the Livepeer project's Streamflow release.
Initial Solidity tests to experiment with the interaction between the Aragon Agent.sol and the Livepeer BondingManager.sol. See the test file if interested.
The full livepeer contract deployment for testing locally. Modified to compile with the current version of Truffle v5.0.6. Includes extra truffle scripts:
initialiseFirstRound.jsfor preparing the BondingManager to be bonded too after initial deployment.
skipRoundAndInitialise.jsfor skipping a specified number of Livepeer rounds, required for speeding up the protocol for testing.
rewardWithLpt.jsfor declaring account as a transcoder, doing the necessary setup and calling reward.
The Livepeer Aragon app. It uses a modified version of Agent.sol to workaround limitations with the aragonAPI, see the
LivepeerAragonApp.sol for more info. It was also initially based on the Aragon
react-kit template. The template code has almost entirely been replaced.