L2 Payouts with Zksync

You got it right on. In Ethereum, it is cheaper to do wallet to wallet transactions in L1 than to interact with a contract to transfer funds in between wallets. The gas fees increases based on how complex it is to interact with the contract. If you never intend to withdraw any funds and keep all your funds in L2, then great, you will be charged less gas. However, if you want to take the funds from L2 to L1, it is not worth it.

TLDR: Basically, if you ever intend to exchange storj to fiat currency, you will need to pay more fees if you use L2.

I think it is a little more nuanced than that. With the payout threshold in place you’ll wait a couple months (maybe) until you get paid, because of the high fees. Then you have your Storj in your wallet and wait to collect it until you want to exchange it to fiat (I suppose you would not just exchange 50 USD). This often requires you to convert to ETH first. Which means you pay two times gas again (? Do you pay gas to exchange to fiat?).

While on the other hand you get your Storj every month, you collect it on L2 until you have enough to exchange to fiat and then let your coins directly send from L2 to an L1 exchange address. Although the fees are higher you only pay them ones (I suppose they are not double of the usual gas fees).

Yes, you are right that there is no point in transferring small quantity. But the problem is that if you were going to send to a L1 address anyways, Storj currently pays for that transfer fee. They want to pass that fee to the SNOs, so there is really no incentives for SNOs that plan to change storj to fiat to hop on board this L2 train.

That’s why it’s optional

But the long term intention implied that it was possible it might become mandatory.

1 Like

I wouldn’t expect that to be honest. I’d say it’s more likely they’ll make the L1 option less interesting by maybe having an even higher threshold. But that’s just speculation at this point. I don’t think they will make it mandatory.

Everything is just speculation right now - including whether the storj business is sustainable or not.

Sure, I’m just saying for now there is no reason to worry about it becoming mandatory. Lets find out how it will work out during the first rounds first while it’s opt in.

Since not every wallet supports zkSync a universal switch from their end isn’t an option anyway.

I pay your attention again to the result of voting
Storj Lab, just asking himself, are you really ready to spend limited DEV team time to implement an opt in feature for 22% of users?

Yes because the solution we are implementing on our end is generic and will work not only for zkSync. Even if not a single storage node will opt in zkSync we still need that opt in freature for what ever we try out next.
Beside that the change on our side is relative low. Batched L1 transactions would cost significant more developer time because that would touch our current payout script. For the zkSync solution we just hand over a CSV file and they will handle it for us.

5 Likes

Thanks for the clear explanation!

Ah cool, didnt know that we don’t need eth. I am just in the process of editing my config to change to zkSync.
Just one question as i am not a developer or programmer, do i not need to add # symbol in front of the text i add to the confiq.yaml file?
Is there a way to test if the payment will work?
Also, do we have to wait until next payout round?

The # is a character to ignore all remained text after it, aka “commentary”.
If you want to add an option, it should not have # before it, otherwise it will be ignored.

If you mean how to use it, then you can try with testSTORJ tokens:

Yes, this option will be taken into account in the next payout period.

1 Like

Hi!
I’m considering using zksync.

Just a (dumb) question:
Is it required to restart the node (or rebuild it) after changing the config.yaml file (with operator.wallet-features: ["zksync"] line)?

Thanks!

[EDIT] Ok, I’m just too much in a hurry. This is explicitly stated in the official documentation to restart the node after changing the config.yaml file.
Sorry!

4 Likes