# V1 (Alpha) -\> Streamflow Upgrade Guide For Existing Transcoders

**URL:** <https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995>\
**Category:** Transcoders\
**Created:** [January 6, 2020, 10:18pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995 "2020-01-06T22:18:25Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![yondon](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/yondon/32/192_2.png) [@yondon](https://forum.livepeer.org/u/yondon)\
**Post date:** [January 6, 2020, 10:18pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/1 "2020-01-06T22:18:25Z")

</div>

# V1 (Alpha) -\> Streamflow Upgrade Guide For Existing Active Transcoders

With the [Streamflow protocol upgrade](https://medium.com/livepeer-blog/streamflow-protocol-upgrade-to-go-live-on-january-13-2020-7e17ef401ae1) coming up next Monday January 13th, existing active transcoder node operators will need to be prepared to take a few actions in order to ensure that their orchestrator nodes (note the name change from transcoder -\> orchestrator in a post-Streamflow world) will be able to continue earning inflationary rewards and accepting/redeeming payments for transcoding.

**TLDR**

If you are currently an active transcoder node operator, make sure to:

- Call reward in the first 1000 blocks of round 1610
- Download and run the latest Streamflow ready mainnet compatible node release (which will be available on the day of the upgrade) after the upgrade is complete
- Submit a `transcoder()` or `bond()` transaction to join the active set for the next round after the upgrade is complete

**The Details**

The tentative timeline for the Streamflow upgrade, assuming 13 second block times, is as follows:

- The upgrade will take place in round 1610 (which should be on Monday January 13th)
- The upgrade process is set to begin at block 9274600 (around 7:30pm UTC) which is 1000 blocks after the start block of round 1610
- The protocol will be paused during the upgrade process
- The estimated length of the upgrade process is 5 hours and we are targeting to unpause the protocol by block 9275984. This should leave ~12 hours in round 1610 for existing active transcoder node operators to take the actions necessary to ensure that they will be be active in the following round

Note: given that block times can fluctuate, the estimates provided above might change.

Prior to block 9274600, you should make sure that you have called reward for round 1610. You will **not** be able to call reward for round 1610 after the upgrade is complete even if you were active prior to the upgrade and have not called reward yet.

Node operators should make sure that they are running the latest mainnet compatible node release. At the moment, this release is not available, but it will be available on the [releases page](https://github.com/livepeer/go-livepeer/releases) on Monday January 13th when the upgrade is complete. A link to the Streamflow ready mainnet compatible release will be added to this post when it is published.

There will be an announcement when the protocol upgrade is complete and when the protocol is unpaused. At this point, if you were in the active set in round 1610 prior to the start of the upgrade you will need to submit a `transcoder()` or `bond()` transaction to the `BondingManager` contract to join the active set for the next round. The two most straightforward ways to do this are:

**Option 1**

Use `livepeer_cli`, the CLI wizard, that ships with the Livepeer node to submit a `transcoder()` transaction. See the below screenshot:

 ![Screen Shot 2020-01-13 at 10.24.05 AM](https://canada1.discourse-cdn.com/flex030/uploads/livepeer/original/1X/e2d53140baa0898d72b1f05f10cc2e369c845dda.png)

Make sure to use different reward cut and fee share values from the values configured on-chain when invoking option 14 - otherwise, the node will not submit the transaction (this is due to a recent [change](https://github.com/livepeer/go-livepeer/pull/1230) that stops the node from submitting a `transcoder()` transaction if the reward cut and fee shares values would not change). The current reward cut and fee share values configured on-chain can be viewed by invoking option 1:

 ![Screen Shot 2020-01-13 at 10.23.42 AM](https://canada1.discourse-cdn.com/flex030/uploads/livepeer/original/1X/0ca7efd1517d69244a500a791dcbafd31aacf403.png)

In the above screenshot, the node’s on-chain reward cut and fee share values are 10% and 5% respectively. So, in order to submit the `transcoder()` transaction you just need to input either a different reward cut or a different fee share value. You can always change the on-chain values back to your preferred values by invoking option 14 in `livepeer_cli` a second time after submitting the first `transcoder()` transaction that activates the node for the next round.

**Option 2**

In order to use this option, your node’s address must have _at least_ 1 LPTU (1 LPT = 10 \*\* 18 LPTU) in its balance. You can view your node’s balance using option 1 in `livepeer_cli`.

 ![Screen Shot 2020-01-13 at 10.35.21 AM](https://canada1.discourse-cdn.com/flex030/uploads/livepeer/original/1X/fe19767b7092366adb9f3c7dd481d96ddf8f1321.png)

Submit a HTTP request to the node’s `/bond` endpoint to self-bond 1 LPTU. This request will submit a `bond()` transaction that will also activate the node for the next round. The request for the node with the address 0x916327a01D6469FD24267c180ec38368A69f1e81 can be sent with the below command:

```auto
curl -X POST http://localhost:7935/bond --data "amount=1&toAddr=0x916327a01D6469FD24267c180ec38368A69f1e81"

```

Once you submit the transaction that activates the node for the next round, verify that the node is pending activation for the next round by invoking option 3 in `livepeer_cli` which should include the node’s address in the table printed to the console:

 ![Screen Shot 2020-01-13 at 5.57.50 PM](https://canada1.discourse-cdn.com/flex030/uploads/livepeer/original/1X/66d06a6a5a7c7c53f795faf448e511a5d39d8f24.png)

The “Active” column will display `true` at the beginning of the next round.

The upgrade process will clear the active set for the next round so it is important for orchestrators to submit a transaction to join the active set for the next round even if they were already active prior to the upgrade. For more information on how activation works post-Streamflow, see [this section](https://livepeer.readthedocs.io/en/latest/streamflow-public-testnet.html#activation) of the docs.

If you are interested in the full list of changes between V1 (Alpha) and Streamflow, check out the [changelog](https://github.com/livepeer/wiki/blob/master/spec/streamflow/changelog.md).

---

<div class="post-metadata">

**Author:** ![videoDAC](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/videodac/32/630_2.png) [@videoDAC](https://forum.livepeer.org/u/videoDAC)\
**Post date:** [January 7, 2020, 2:48pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/2 "2020-01-07T14:48:52Z")

</div>

Some questions:

1. How many Orchestrators will be in the active set after the upgrade?

2. Will the upgrade enable splitting the Orchestrator from the Transcoder, or should we run with an O+T setup?

> Download and run the latest Streamflow ready mainnet compatible node release (which will be available on the day of the upgrade)

1. Would it be possible to release the final software in advance of the upgrade, so that we have a chance to audit and test it?

---

<div class="post-metadata">

**Author:** ![dob](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/dob/32/7_2.png) [@dob](https://forum.livepeer.org/u/dob)\
**Post date:** [January 7, 2020, 5:15pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/3 "2020-01-07T17:15:27Z")

</div>

1. 100 Orchestrators in the active set after the upgrade.
2. Yes, you can run a split O/T after the upgrade.
3. It would be possible, at the tradeoff of confusing people because it won’t work on main net prior to the protocol update. But yes, I suppose it would be prudent to make it available as soon as the final candidate is ready for the purposes of auditing/understanding it.

---

<div class="post-metadata">

**Author:** ![yondon](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/yondon/32/192_2.png) [@yondon](https://forum.livepeer.org/u/yondon)\
**Post date:** [January 7, 2020, 5:33pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/4 "2020-01-07T17:33:55Z")

</div>

> Would it be possible to release the final software in advance of the upgrade, so that we have a chance to audit and test it?

There will be a Streamflow ready Rinkeby compatible release published in advance of the upgrade that can be used for testing and it will more or less have the same features as the eventual mainnet compatible release.

---

<div class="post-metadata">

**Author:** ![videoDAC](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/videodac/32/630_2.png) [@videoDAC](https://forum.livepeer.org/u/videoDAC)\
**Post date:** [January 8, 2020, 10:57pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/5 "2020-01-08T22:57:05Z")

</div>

Thank you.

Will you make very clear what the final changes are?

Also, will you publish a final commit hash for those building from source?

---

<div class="post-metadata">

**Author:** ![NicoV](https://avatars.discourse-cdn.com/v4/letter/n/9e8a1a/32.png) [@NicoV](https://forum.livepeer.org/u/NicoV)\
**Post date:** [January 9, 2020, 6:03pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/6 "2020-01-09T18:03:40Z")

</div>

As mentioned during the community call, there is a slight caveat when using the CLI.

This recent PR [https://github.com/livepeer/go-livepeer/pull/1230](https://github.com/livepeer/go-livepeer/pull/1230) prevents the `BondingManager.transcoder(rewardCut, feeShare)` transaction being submitted when the parameters entered in the CLI are the same as those currently on-chain. This is done to prevent sending unnecessary transactions when setting the config, we apply the same behaviour to the `serviceURI`.

So either the `BondingManager.transcoder()` transaction would have to be submitted with either parameter changed, or directly to the ethereum network e.g. using a wallet such as MyEtherWallet or MyCrypto and invoking a contract tx.

---

<div class="post-metadata">

**Author:** ![yondon](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/yondon/32/192_2.png) [@yondon](https://forum.livepeer.org/u/yondon)\
**Post date:** [January 11, 2020, 1:26am UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/7 "2020-01-11T01:26:44Z")

</div>

[go-livepeer 0.5.2](https://github.com/livepeer/go-livepeer/releases/tag/v0.5.2) is now published - this release can be used for testing in advance of the protocol upgrade on Monday. Check out the release notes for changes. The only additional changes that could be included in Monday’s release are likely smaller bug fixes and internal enhancements as opposed to major user facing features.

> Also, will you publish a final commit hash for those building from source?

For those that want to build from source using the same commit hash that a release was cut from, they can grab the commit hash corresponding to a release which can be found on the release page.

---

<div class="post-metadata">

**Author:** ![yondon](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/yondon/32/192_2.png) [@yondon](https://forum.livepeer.org/u/yondon)\
**Post date:** [January 13, 2020, 3:41pm UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/8 "2020-01-13T15:41:38Z")

</div>

Updated OP with additional options for submitting the necessary transaction in order to join the active set for the following round.

---

<div class="post-metadata">

**Author:** ![videoDAC](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/videodac/32/630_2.png) [@videoDAC](https://forum.livepeer.org/u/videoDAC)\
**Post date:** [January 14, 2020, 1:27am UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/9 "2020-01-14T01:27:00Z")

</div>

Is there another announcement coming here? As promised?

---

<div class="post-metadata">

**Author:** ![yondon](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.livepeer.org/yondon/32/192_2.png) [@yondon](https://forum.livepeer.org/u/yondon)\
**Post date:** [January 14, 2020, 3:44am UTC](https://forum.livepeer.org/t/v1-alpha-streamflow-upgrade-guide-for-existing-transcoders/995/10 "2020-01-14T03:44:15Z")

</div>

The Streamflow protocol upgrade on mainnet is complete! The updated deployed contract addresses can be found [here](https://github.com/livepeer/wiki/blob/master/Deployed-Contract-Addresses.md).

[go-livepeer 0.5.3](https://github.com/livepeer/go-livepeer/releases) is now published which is mainnet compatible.

If anyone runs into any issues upgrading or running the latest release feel free to reach out on Discord!
