github livepeer/go-livepeer v0.5.10

latest releases: v0.7.2-ai-video-11, v0.7.2-ai-video-10, v0.7.2-ai-video-9...
3 years ago

Summary

This release includes support for broadcaster and orchestrator capability discovery which makes it much easier for the network to support a heterogeneous set of nodes that support a mix of features and is a first step towards exploring the possibility of a network that supports more diverse video compute capabilities.

Other highlights of this release include gas cost optimizations for calling reward, a fix for a bug that was causing orchestrators to call reward with higher gas prices than necessary, improvements to orchestrators' ticket workflow and improvements to the transcoding workflow.

Thanks to everyone that submitted bug reports and assisted in testing!

Features

General

  • Added support for capability discovery between broadcasters and orchestrators (#1539)
    • This feature allows broadcasters to match with orchestrators based on capabilities advertised by orchestrators
    • See the PR for more details on how the feature works under the hood

Broadcaster

  • Added support for specifying transcoding options using a JSON config file (#1558)
    • See the docs for information on specifying transcoding options using a JSON config file

Orchestrator

  • Added support for calling reward with "hints" (the node will do this automatically) in order to reduce the gas costs of the reward transaction (#1566)
    • When reward is called the position of the orchestrator in the on-chain pool that is used to determine which orchestrators will be active when a new round is initialized is updated
    • Submitting the reward transaction with a hint can reduce the amount of computation in the smart contract required to calculate the new position of the orchestrator in the on-chain pool
  • Updated the max float (used to determine the max face value of probabilistic micropayment tickets) calculation strategy for a broadcaster to also take into account a broadcaster's deposit relative to the broadcaster's current float (value of winning tickets redeemed by the orchestrators that have not confirmed on-chain yet) (#1592)
    • This update should also help orchestrators continue to accept segments after redeeming a winning ticket from a broadcaster. Previously, in many cases, orchestrators would stop accepting segments while waiting for a winning ticket redemption to confirm on-chain
  • Updated the ticket redemption strategy so that orchestrators will redeem winning tickets as long as the broadcaster's available funds exceeds the the estimated transaction cost of the redemption (#1596)

Bug Fixes

General

  • Fixed a bug that prevented the node from receiving WinningTicketTransfer events which are used by broadcasters and orchestrators to update their current view of broadcasters' deposit and reserve (#1596)

Orchestrator

  • Fixed a bug that could cause transaction nonce gaps when transaction submission fails (i.e. due to an account having insufficient funds) (#1599)
    • This bug also could cause an orchestrator to continuously bump the gas price of a pending reward transaction despite the transaction never being eligible to be included on-chain due to a nonce gap
  • Fixed a bug that could cause multiple reward transactions to be submitted instead of waiting for the first reward transaction to confirm on-chain (#1599)
  • Fixed a bug that prevented transcoders from accepting out-of-order segments (i.e. segment N + 1 has a smaller timestamp than that of segment N) (#1593 livepeer/lpms#201)
  • Fixed a bug that caused transcoders to produce renditions with timestamps that drift over time (#1593 livepeer/lpms#201)

Full list of changes

Verifying Release

md5 hashes for release binaries:

  • livepeer (Linux): 2ceb584614accdafd886674794c526fa
  • livepeer_cli (Linux): 40196f0d3d6a7e3d6c6f3204e55fac40
  • livepeer (Darwin): 23d6ee8d71aed72f485a87d213a55e27
  • livepeer_cli (Darwin): 901dabc84e45aed7d667eeabd4ca400c
  • livepeer.exe (Windows): b2f818c210b6dd41fbc42f43aa1b8f80
  • livepeer_cli.exe (Windows): f0b09e9137d58dc1cd9fc8d34352934b

Generate the md5 hash:

md5sum livepeer
md5sum livepeer_cli

sha256 hashes for release binaries:

  • livepeer (Linux): 9b234faebfd8d96484605eaa498a08f24e71118485a68a96c8a39e806cf3ee0d
  • livepeer_cli (Linux): 5815acf1dc7d1910e50d19c4a894d8554bc93cc03a3db7c41313eacc24d41e18
  • livepeer (Darwin): e5fd0af98270fa3c022843dbf75552d1faa127b16e3a693d012b479ac6f455a7
  • livepeer_cli (Darwin): 4d0c8a26da0bf5e68b54a5d336f75c38229101802216da3006deafcff2267aed
  • livepeer.exe (Windows): 264398894d9de57f129a88d3b15aa293dd3b597ae81c1bff44f3fb4a6793d94f
  • livepeer_cli.exe (Windows): a9b80db7abac6f898ed2ffe54fa9f20820767dcbb55f4e8b03e4a0e76beef985

Generate the sha256 hash:

shasum -a 256 livepeer
shasum -a 256 livepeer_cli

Don't miss a new go-livepeer release

NewReleases is sending notifications on new releases.