# Bridge Upgrade Guide (Nikau 🌴) The CENNZnet/Ethereum bridging protocol will allow Ethereum and CENNZnet tokens and events to move freely between both networks. Creating new liquidity options on CENNZnet and enabling faster, cheaper transaction speed for Ethereum users. CENNZnet validators act as bridge authorities by witnessing transactions on Ethereum and casting votes about their authenticity on CENNZnet. See the explainer [article](https://cennz.net/knowledge-hub/core-modules/emery-cennznet-ethereum-token-bridge/) for a further overview of the bridge design and features. ## Upgrade Overview In order to trial this process for mainnet, we ask validators to run a Nikau validator node to attempt it first hand. Nikau will be bridged to the Ethereum **Ropsten** network. The update is scheduled to go live on Nikau at block: **#1,416,495** / `26/09 9:15pm UTC` The network will continue to function as normal after the update but will require these additional steps by validators to active the new bridging protocol. The important steps to update your validator are: 1) Update the CENNZnet client version 2) Connect Ethereum full node (Ropsten) 3) Rotate session keys Nikau Faucet for Staking: https://cennznet-faucet-ui.centrality.me/ ### 1) Update Validator client If using docker download new image: `cennznet/cennznet:2.0.0-rc3` ***OR*** build [from source](https://github.com/cennznet/cennznet/releases/tag/2.0.0-rc3) ### 2) Connect Ethereum RPC provider (Ropsten) After this update validators need a connection to Ethereum Ropsten testnet in order to witness transactions for the bridge protocol. The simplest way is to use an Ethereum RPC provider service, a process which takes only a few minutes to setup. It is also fine to host your own Ethereum node for this purpose. Here are some services which provide free ethereum full nodes: - https://zmok.io - https://infura.io - https://www.alchemy.com/ - https://moralis.io/ Once a full node connection is active, restart your CENNZnet validator providing the endpoint to your validator with the `--eth-http` flag. This will allow the validator to connect with Ethereum and participate in the Emery bridging protocol. **Example**: ```bash docker run cennznet/cennznet:2.0.0-rc3 \ --name='example-node' # provide Ethereum full node HTTP endpoint (ROPSTEN) --eth-http='https://eth-ropsten.alchemyapi.io/v2/<API_KEY_REDACTED>' \ --chain=/cennznet/genesis/azalea.raw.json \ --validator ``` ⚠️ If running multiple validators it is possible to share the same API key but be aware of your provider's rate limiting configuration. ### 3) Regenerate session keys The bridge protocol requires validators refresh their session keys which will generate a new Ethereum compatible key. To rotate your node's session keys run: ```bash curl \ -H "Content-Type: application/json" \ -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params": []}' \ localhost:9933 ``` this will output your new session keys ⚠️ make sure to save this value for the next and final step. **example output:** ``` { "jsonrpc":"2.0", "result":"0x39aa6645b628f8a53e182172f2c38485c7755854fc5e4addf997ecd836fb18c0b245dd9bced846e504d030a7b8830c40b5ac53de4b74421ab252d920a1f00621e08c2fff8b19cc1a1ff767f41333b28ee7e097eeb2a7d4422bb958cc55b3537d2299cd89b4f79ff8639415ff1137c68b0726a42e7ecdb04840a5fbbfc9961333032b575057537dceab1fd15a7ef92ed366116f7c0537ed9d8f5c5db483b640f3be", "id":1 } ``` Restart your validator to ensure the new session keys take effect. ### 4) Claim Session Keys Take the `result` from the previous step and head to [https://cennznet.io/#/extrinsics](https://cennznet.io/#/extrinsics) to officially claim your validator's new keys. ``` # example only! 0x39aa6645b628f8a53e182172f2c38485c7755854fc5e4addf997ecd836fb18c0b245dd9bced846e504d030a7b8830c40b5ac53de4b74421ab252d920a1f00621e08c2fff8b19cc1a1ff767f41333b28ee7e097eeb2a7d4422bb958cc55b3537d2299cd89b4f79ff8639415ff1137c68b0726a42e7ecdb04840a5fbbfc9961333032b575057537dceab1fd15a7ef92ed366116f7c0537ed9d8f5c5db483b640f3be ``` ![](https://i.imgur.com/3yHhzPl.png) Submit the transaction # Done :tada: Your validator will now actively participate in the Ethereum bridge protocol and earn CPAY rewards.