So what do my old beat up Nike runners, Dragonchain, New Balance, and Cardano all have in common? Well the title of the post kinda gives it away, but….

I was inspired by the New Balance/Cardano collab that was launched recently. NFC tech combined with blockchain-based product authenticity verification? Sweet.

But then I got to thinking: the moving pieces of such a system aren’t really that complicated, and I bet I could build a functional proof-of-concept demo of it pretty quickly with Dragonchain given how easy and awesome Dragonchain smart contracts are to work with

So I did (or rather I am almost finished doing so…). Let’s talk about what this project series is actually going to cover.

Project Overview and Goals

For this project, I want to build a fairly complete (if MVP-ish) proof-of-concept demonstrating creating and tracking assets on a blockchain along with a simple NFC tag and scan system similar to what New Balance and Cardano are using.

(I really just wanted to play with NFC stuff, and this was a good excuse.)

Goals:

  1. Build a feature-complete smart contract in NodeJS to track arbitrary assets along with required external data on a Dragonchain L1 node
    1. Demonstrate use of the smart contract object heap to maintain “up to date” object data
    2. Demonstrate use of more advanced custom indexing to maintain object searchability
  2. Build a (very simple) RESTful API for accessing the smart contract from the web or an app
  3. Build an even simpler web page for easily visualizing and manipulating the contract’s data
  4. Build a simple demo app in Flutter for reading NFC tags and associating with asset data

Additionally, I want to show how quickly this can be done with Dragonchain and one guy fumbling his way through.

I’m marking the “official” start date as October 18, 2019 for when I created the Google Doc to start recording my thoughts and design planning (first code commit on October 23rd) . I’ll update this post with the “initial functionality complete date” when I’m “done.”

Edit: and done! “Initial functionality complete” on November 6th, 2019. Exactly two weeks spent on coding and just shy of three weeks start to finish, in my spare time. It’s so powerful to be able to just write in the languages you already know.

Current Status: Initial functionality complete. Documenting.

This has been a pretty exceptionally fun project so far, and I’ve learned a lot about blockchain development and working with Dragonchain in particular in the process that I’ll certainly be sharing along the way.

If you aren’t already familiar with the basics of Dragonchain smart contracts, I highly recommend you start with my previous project that explores just that. I won’t reiterate most of the fundamentals (though I will touch on “new stuff” that I didn’t cover in those posts).

In the next post, I’ll start laying out the specific design considerations for this application. After that we’ll look at the foundation of the entire system: the smart contract. We’ll play it by ear from there.

For now, it’s back to the code.

Until next time,
John

Leave a comment

Your email address will not be published. Required fields are marked *