ZGo Migration to Zebra - Grant Application

@pitmutt at the most recent meeting, ZCG voted to approve this proposal. Congratulations!

To keep the community informed, ZCG requests that you provide monthly updates via the forum in this thread.

Please check your forum inbox for a direct message from FPF with important next steps, including a link to the Milestone Payment Request Form and your unique validation code for submitting payment requests.

3 Likes

January update

We have completed testing on TestNet. We had some unexpected delays due to the instability of TestNet and a change in the CoinGecko API.

We are migrating the service to the new platform and we will be reaching out to the current shops to coordinate the setup and configuration of the upgraded WooCommerce plugin this week.

7 Likes

New Release: ZGo + Zebra

ZGo is now live, running on the Zebra node!

As part of our migration, we have upgraded the WooCommerce plugin and existing shops will need to update their setups.

We reached out to existing shop owners via e-mail but the messages bounced back, so please let us know if you need assistance, either here on the forum, or our Matrix room #support:vergara.tech.

The latest version of the WooCommerce plugin is available here.

7 Likes

ZGo is now running on Zebra 4.0.0.

5 Likes

Hey @pitmutt!

Thanks for the update. Help me understand how this works. I want to go through the integration steps, but I’m stuck at the very beginning.

First step

Here, I understand that only Zingo wallet can help me. However, depending on what I use, the link may unexpectedly take me to the Trezor app or even the test version of Zingo for staking from the Crosslink workshop, even though we understand that it is useless in this case. I think that at this point, the UX does not give the user a clear idea of what exactly they need to do. They don’t necessarily have to be as persistent as a tester.

On this screen, when I first entered it, this QR code literally gave me the following line:

“zcash:undefined?amount=0.00000001&memo=WkdPOjo2ZDYwZTFjZC1kMzg5LTRjZGEtYWQyYy0zMjhiOWIxMzk5Mjg”

That is, literally no address. But I am a tester, so I tried refreshing the screen and the next time I got a QR code with a real unified address. I hope you know what this is related to and that it can probably be fixed. But imho the UX is not user-friendly in this place yet.

What else caught my attention was that the randomly generated code - WkdPOjo2ZDYwZTFjZC1kMzg5LTRjZGEtYWQyYy0zMjhiOWIxMzk5Mjg (I refreshed the page about 5-6 times) is always the same, which makes me a little confused about how the initial token is issued, to which my wallet will be linked. I tried changing my browser, and the code changed as well. Ok. Is this linked to the browser session, or how does it work in general? Please explain it to me. I like to understand everything.

Next, I tried to log in from my mobile phone and QR-code gave me something like this:

ZGO:%3Ada24f9c2-b6ff-4912-83a8-31c3b786af45%20Reply-To%3A%3Cyour%20z-addr%3E

UPD - Actually, it doesn’t give me the QR code itself, but the “Copy Memo” button. I can’t scan QR codes on my phone, so I just copy the information for the fields.

I’m just testing different options and will move on.

The app creates a session ID (a UUID) that is stored in the browser and acts as a persistent login once the process is complete.

The QR code pre-populates the memo of the transaction with ZGO::<your session id> and the user needs to include their shielded address as part of the message. The Copy Memo button adds the “Reply-To: ” to remind the user to include it. The WkdPOjo2ZDYwZTFjZ… part is simply the memo message, encoded in URL-safe Base64 per the ZIP-321 spec.

The reply-to address is important because once the app receives this first transaction, it will send a PIN to the address in the memo. Once the user enters that PIN in the app, it confirms that the user controls the address in the “reply-to” and this becomes the shop’s address.

When we first created ZGo, the “add reply-to” feature was common in wallets. During the testing of this migration, I did find that some wallets don’t have it anymore. Zashi will scan the QR code and populate the memo field, but won’t let you edit it. We did implement this functionality in the Zenith Full Node wallet as part of this work.

A shop owner can repeat this process as many times as they want, as long as they use the same wallet to login and receive the PIN, all individual user sessions will be tied to the same shop. So the shop can have as many points-of-sale as needed.

1 Like

Thank you! So I went about it completely the wrong way by trying to specify the line from the link provided by the QR code in the note. That’s why I haven’t received my PIN yet. Now I understand.

By the way, it works in YWallet. I used it from the very beginning, but because the address was in the wrong format, I got an error. And when I changed browsers, the problem recurred. Only after reloading the page does the QR code become correct.

It’s even good that I collected all the ridiculous mistakes; they can be included in the pop-up help. If I collected them, then there’s a chance that someone else will collect them too.

1 Like

I tested this and was able to replicate it, we’ll fix that initial load.

1 Like

I have 16 confirmations that I am doing something wrong?

You did not do anything wrong :slightly_smiling_face:

In fact, you did a very helpful thing, flushed out a bug in the Zenith RPC! This is an issue impacting logins but not the payment confirmation flow, so existing shops are fine.

We will be publishing a fix today. One of the features we implemented in the new version of ZGo is a way to “catch up” so these logins will be processed today.

4 Likes

You should have your PIN in your wallet now.

1 Like

I’m switching to PM :slight_smile: