Selling Curry with xDAI and an NFC Tag

This post is for demonstration purposes only and it should not be interpreted as giving legal advice. If you are in need of an attorney, you can find one here in your area. Open Esquire and its subsidiaries are not associated with The Lego Group.

Hello again, dear reader! I made the most amazing curry last night because I finally purchased the Ghee (clarified butter) I needed to make it. The chicken has been slow cooking all night, making this one of the most savory batches I’ve ever created.

So I decided to sell it.

Image for post
Image for post

Okay, not really. I’m just using it for this demonstration. There’s not enough money in the world to pry this from my hands.

Speaking of money, ETH is money. And so is MakerDAO’s stablecoin, DAI. As you might know, DAI uses a system of incentives to keep it pegged to the U.S. dollar. Interestingly, if you lend your DAI on the platform Compound, you’ll get a token back called “cDAI.” cDAI represents a right to withdraw its equivalent in DAI plus accumulated interest. Pretty dope, right?

There’s actually a whole bunch of iterations of DAI, but we won’t get into all of them. The one we’re going to focus on today is associated with the Burner Wallet, which can be created by visiting https://xdai.io. When you go to that site, it’ll automatically generate a new burner wallet and store it in your browser.

Image for post
Image for post

This is a super fast and convenient way to start accepting cryptocurrency. Of course, however, storing your private key in a browser isn’t the most secure method of storage. We’ll show you in another post how to make this process more secure. But for right now, we’re just selling curry, so it’ll do.

What We’ll Need

For this demonstration, I’ll be using a Galaxy S8 phone and a 13.56mhz NFC tag.

Image for post
Image for post

In order to program the NFC tag, we’re going to use a free app in the Galaxy store called “NFC Tools.”

Generating the Wallet

This is the super easy part. With our Galaxy S8, we’re just going to visit xdai.io and we should see a new wallet generate.

Image for post
Image for post

Making a Request

We hit the “Request” button and determine the price of our curry.

Image for post
Image for post
Image for post
Image for post

My curry is worth so much more than $5, because I use fresh turmeric and ginger, which takes forever to peel. But I digress. Let’s hit “Request” and see what comes up.

Image for post
Image for post

It gives us a QR codes, and, interesting side note, my other phone read it and sent me a prompt.

Image for post
Image for post

I’m actually going to tell a little story about QR codes and NFC tags, but if you’re in a hurry you can just skip to the next part.

Story Time

Once upon a time, there was a handsome prince named “Rob” who wanted to create a ring with a QR code on it. He asked the Cent kingdom for help designing the ring, and the people gave him so many amazing ideas.

Image for post
Image for post
Image for post
Image for post

Wasting no time, Prince Rob started making these rings so that all in the Cent kingdom could enjoy them.

Image for post
Image for post

But Prince Rob realized that people might want to change the QR Code, but keep the ring. For example, if the QR Code linked to a vendor’s wallet, but he lost the private key, he’d need a new QR Code. Is his ring worthless to him now?

“The QR Code can’t be a permanent fixture!” The Prince said while walking through his playroom. Then suddenly. “Ouch, what the ^#$^@?” He exclaimed loudly.

“I just stepped on a @#%ing lego.” Then, after a moment, he shouted “eureka!”

Image for post
Image for post

The Prince made a four-pronged face and turned the QR Codes into interchangeable attachments. All the kingdom rejoiced until they realized that complex QR codes were harder to read, requiring users to sometimes zoom in on them. Not very practical. In addition, Rob’s mean friend told him “if I can’t bump it with my phone like Apple Pay, it’s worthless.”

Prince Rob ran home and cried in his pillow, bringing great shame upon his family. Until he realized he could just put a re-programmable NFC tag on the ring, which he did.

Image for post
Image for post

And they all lived happily ever after. The End.

Also, in case you were wondering, I put an SD slot in the ring just to make it look cooler.

Programming the NFC Tag

Right, so we have the QR Code for the request, but we also have the URL generated underneath it. We’ll copy that to our clipboard.

Image for post
Image for post

Once copied, we head on over to the NFC Tools App.

Image for post
Image for post

Within the App, we want to navigate to “Write.”

Image for post
Image for post

From there, we’ll go to “Add a record” and choose “Custom URL.”

Image for post
Image for post

From there, we’ll paste the xDAI URL onto our clipboard and hit “OK.”

Then we’ll click “Write” and see this.

Image for post
Image for post

We approach our NFC Tag…

Image for post
Image for post

And it is written!

Image for post
Image for post

To test it out, we approach the NFC tag again with our phone unlocked.

Image for post
Image for post

And it reads the tag and opens up the default browser, which is different from the first one I used to generate the Burner Wallet.

Image for post
Image for post

Wait for it…

Image for post
Image for post

It works! Now when people bump their NFC-enabled phone against my tag, a $5 request for xDAI is automatically generated. Isn’t that cool?

Now I’m sure you have a ton of questions, so please ask away in the comments.

Thank you for reading!

If you’d like to support our work you can buy an NFC-enabled ring by purchasing a URING token at here (redemption coming soon; void where prohibited). If you want some of Rob’s curry, you have to be his friend.

Written by

Our mission is to educate attorneys about Ethereum smart contracts.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store