How to create same asset types with no units and just metadata

+1 vote

Business Scenario: A company wants to use multichain blockchain to track its shipments.It will create, update and send shipment details to other companies in the chain.

Sample Asset details

Type:ShipmentDetails

Use:To record and send shipment details

MetaData :{"Unique_Shipemt_ID":12345,origin":"uk", "destination":"usa", "purpose":"parts shipment details","partno":"router"}'

There are no units in this case. The unique ID being shipment_ID.

A company can keep on creating assets like this.

 

Can you pls share a sample command to create this?I did refer to asset docs but couldn't get it working

 

asked Mar 26, 2018 by sharedmocha

1 Answer

+1 vote
I think this would be better implemented using streams, since it's just about data on the chain and not assets which are about something scarce changing hands.
answered Mar 27, 2018 by MultiChain
Can you give some pointers on how to differentiate when them?
Asset on chain vs Stream
Assets are for something which is scarce and which changes ownership. Streams are for general data storage and retrieval. Think of one like a dollar note, and the other like a writing pad.
Here is a link which has my assets-

http://18.221.181.216/multichain-web-demo/?chain=default&page=issue

Now pls check asset with name "MultiChain_SampleAsset_1".

Here I can create assets with 0 quantity add custom fields and transfer to other person/address to update more fields and can get it back.

My point is i can do the same with/without streams.

Pls correct me if wrong.

Now, why should i use streams for this?
Because assets were not designed to hold large amounts of general data, whereas streams are. Also the ability to update asset metadata is not related to who owns units of that asset.
Just a quick note: although stream is in fact best suited for holding data, in my application I need to get that data through Smart Filters. I can do that with getassetdetails (or something like that) whereas I can't if it were a stream.
You can also examine on-chain stream data in transaction filters.
I meant to say "get a previous published data through some key", something like getstreamitemdata:: txid -> Object
Yes, this is not available yet for stream filters, but it's on the roadmap.
...