Selling Curry with xDAI and an NFC Tag

Open, ESQ
6 min readSep 30, 2019

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.

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.

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.

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.

Making a Request

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

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.

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

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.

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

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!”

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.

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.

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

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

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

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

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

We approach our NFC Tag…

And it is written!

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

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.

Wait for it…

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.

--

--

Open, ESQ

Our mission is to educate attorneys about Ethereum smart contracts.