Question: Thinking Like a Blockstack Developer. :)

Hello Blockstack community,

I am really digging what you have going on here. I wanted to write in with a question I had to sort of wrap my brain around your magic.

In my case, I am looking at building a site that is much like CryptoKitties where there are products that I would like to sell in a decentralized way. I would like users to authenticate basically to have an identity token of some sort. I really do not want their information or anything involved for all the obvious reasons of storing user data brings. Really, all I care about is “identity x purchased product y.” For all intents and purposes, it appears that Blockstack will get me that identity token.

Where I am hung up now is how to track when a product is purchased. In all of your examples, it would seem they are mostly for personal use, e.g. todo or grocery lists. In this case, I need to have a way of tracking who bought what, when and doing so in a authoritative way.

At this point, I am thinking about doing this all via a hosted API on a centralized server. But, I wanted to check in here to see if there’s a way that I should be considering so that it could truly be decentralized.

CryptoKitties, of course, uses the Ethereum blockchain to store its state via its smart contracts (if I understand correctly with a quick prodding and probing). Is there an equivalent here that Blockstack recommends?

Thank you for any guidance that you can provide, and for your efforts here.
Michael

2 Likes

Looks like I found the answer to my own question:

https://programmingblockchain.gitbooks.io/programmingblockchain/content/other_types_of_asset/issuing_an_asset.html

Essentially, if I understand this correctly, I could broadcast this new asset (product) onto the blockchain, and then when someone purchases this product/asset, my wallet would debit by one and then it would result in an output of 1 less than the original broadcast. Additionally, the person who purchases the product would be credited 1 of my assets/products as a further (second) output.

If this is how blockchain works, considered me S-O-L-D. :laughing:

I guess my only concern now is the speed of the BTC blockchain as it seems it does get a little slow with transactions. For instance, my blockstack id was not registered correctly yesterday when exploring the browser to send BTC (that is, I got a message saying that it wasn’t registered and transactions might affect it). It was like that for what seemed to be 15 minutes.

I am certainly open to any further insight to address my concerns here, but maybe for a proof-of-concept application this might work OK. Thank you in advance!