Summary
This release includes another gas price monitoring fix to address additional cases where Ethereum JSON-RPC providers occassionally return really low gas prices for the eth_gasPrice
RPC call, automatic replacements for pending transactions that timeout, fixes for broadcaster stream recording, support for downloading stream recordings as mp4 files as well as variety of other bug fixes and enhancements. We strongly recommend all orchestrator and transcoder operators to upgrade to this version to access this latest set of bug fixes and improvements.
In addition to the gas price monitoring fix and support for automatic replacements for pending transactions that timeout, a few additional configuration options are introduced to give node operators more control over gas prices and transactions:
-maxTransactionReplacements <INTEGER>
can be used to specify the max number of times to replace a pending transaction that times out. The default value is 1.-txTimeout <DURATION>
can be used to specify the timeout duration for a pending transaction after which a replacement transaction would be submitted. The default value is 5m.-minGasPrice <INTEGER>
can be used to specify the minimum gas price (in wei) to use for transactions. The default is 1 gwei on mainnet.
More information about these new flags is accessible via livepeer -help
.
The default value for the -maxTicketEV
flag for broadcasters has been updated to 3000 gwei based on the default value of 1000 gwei for the -ticketEV
flag for orchestrators which is safer for broadcasters. For more information on these default values, refer to the payment docs for video developers and the payment docs for video miners.
An experimental version of a deep neural network (DNN) based scene classification capability is mentioned in the changelog, but please note that while this is the first step towards enabling this capability on the network for video miners, this feature is NOT yet usable on the network today and is undergoing rapid development.
Thanks to everyone that submitted bug reports and assisted in testing!
Features ⚒
General
- #1911 [Experimental] Enable scene classification for Adult/Soccer (@jailuthra, @yondonfu)
- #1915 Use gas price monitor for gas price suggestions for all Ethereum transactions (@kyriediculous)
- #1930 Support custom minimum gas price (@yondonfu)
- #1942 Log min and max gas price when monitoring is enabled (@kyriediculous)
- #1923 Use a transaction manager with better transaction handling and optional replacement transactions instead of the default JSON-RPC client (@kyriediculous)
- #1954 Add signer to Ethereum client config (@kyriediculous)
Broadcaster
- #1877 Refresh TicketParams for the active session before expiry (@kyriediculous)
- #1879 Add mp4 download of recorded stream (@darkdarkdragon)
- #1899 Record million pixels processed metric (@yondonfu)
- #1888 Should not save (when recording) segments with zero video frames (@darkdarkdragon)
- #1908 Prevent Broadcaster from sending low face value PM tickets (@kyriediculous)
- #1934 http push: return 422 for non-retryable errors (@darkdarkdragon)
- #1943 log maximum transcoding price when monitoring is enabled (@kyriediculous)
- #1950 Fix extremely long delay before uploaded segment gets transcoded (@darkdarkdragon)
- #1933 server: Return 0 video frame segments unchanged (@darkdarkdragon)
- #1932 Serialize writes of JSON playlist (@darkdarkdragon)
- #1985 Set default -maxTicketEV to 3000 gwei (@yondonfu)
Orchestrator
- #1931 Bump ticket redemption gas estimate to 350k to account for occasional higher gas usage (@yondonfu)
Transcoder
- #1944 Enable B-frames in Nvidia encoder output (@jailuthra)
Bug Fixes 🐞
General
- #1968 Fix nil pointer error in embedded transaction receipts returned from the TransactionManager (@kyriediculous)
- #1977 Fix error logging for failed replacement transaction (@yondonfu)
Verifying Release
sha256 hashes for release archives:
livepeer-darwin-amd64.tar.gz
: dd907a0760104552bac1b59a453a25bcb1f0175f23ace74e8d3742322151719elivepeer-linux-amd64.tar.gz
: 76be58c81dd41f06c8bab6dacefc9815b4a3c2e85e3c4333ed0dd24c5c4769e5livepeer-windows-amd64.zip
: d1aafb9149bbf2440998918d5377529ee1c1efe88a25d09b162b5707b71f94e8
Generate the sha256 hash:
shasum -a 256 livepeer-<PLATFORM>-amd64.<EXTENSION>
Note: The Windows release was cut from a commit that was created after the v0.5.19 tagged commit because there was a Windows build process issue that needed to be fixed after the v0.5.19 commit. As a result, livepeer.exe -version
will report 0.5.19-b6b17f1
instead of 0.5.19
.