This post is intended to present the simplest, most straightforward instructions possible for how Storj Node Operators can enable zkSync for payouts. If I made a mistake, or you have suggestions for how it can be more clear or more comprehensive, please let me know, and I will edit the post.
This post assumes that you have already decided to switch; if you’re looking for reasons to switch to zkSync, you’ll need to look elsewhere. It also assumes you have already determined that your wallet can accept payouts though zkSync; that topic is also covered elsewhere.
The authoritative page covering this topic is here. This post is not meant to replace it, but to supplement it for SNOs who, like myself, had difficulty following those instructions. (This post may become obsolete as the official instructions are improved.)
There are only two thing you need to do to switch to zkSync:
1. Change the command
GUI (Windows or Linux):
If you’re running a graphic user interface version of Storj software, you need to update your config.yaml
file to include:
operator.wallet-features: ["zksync"]
Docker:
If you’re using docker, modify the run command to include the text --operator.wallet-features=zksync
, as follows:
docker run ... storjlabs/storagenode:latest --operator.wallet-features=zksync
Docker-compose:
If you’re using docker-compose, add the following line to the docker-compose.yml
file:
command: --operator.wallet-features="zksync"
2. Restart Storj software
Now, you need to restart the Storj software. Please note that simply rebooting your system may not properly invoke the modified command! So, be sure to fully relaunch it using your chosen method. With docker and its variants, this means removing the container and relaunching. (See the comment thread below for more details.)
Notes
- To confirm whether you completed the above steps properly, visit your main Dashboard page. Near the bottom of the main page, under “Payouts”, you should see green text that states: “zkSync is opted-in.”
- Your wallet address remains the same. The wallet address used for zkSync is the same as the address used for traditional (Ethereum Layer 1) payouts.
- When you do get a payout, you may not see any notification. Your dashboard will not reflect that the funds have been distributed, and your wallet software will not indicate that the funds have been deposited, until you take further action beginning at wallet.zksync.io
- This post does not cover how to withdraw or transfer funds paid out via zkSync. I hope to write a post covering that topic as well.