- Hyperledger Cookbook
- Xun (Brian) Wu Chuanfeng Zhang Andrew Zhang
- 416字
- 2021-06-24 14:59:41
Invoking the assermgr chaincode
Next, we can start to invoke the remaining chaincode methods: Order, Ship, and Distribute.
- To order the device from OEM, we need to pass three parameters to the chaincode—assetId, Comment, and Location. Here, assetId is 100, and we will assume that Location is New York.
- Now, issue invoke to call the Order method in the assetmgr chaincode. The command is as follows:
peer chaincode invoke -n mycc -c '{"Args":["Order", "100", "initial order from
school", "New York"]}' -C myc
- If all goes well, you should see the following result. The log shows that the chaincode has been invoked successfully. We can see that the result is successfully saved to blockchain:

- In our assetmgr, we have defined a query method. We can invoke this method to verify whether the records have been saved in the Fabric blockchain. Issue the following query command with assetId as 100:
peer chaincode query -C myc -n mycc -c '{"Args":["query","100"]}'
We can find the asset with an assetId of 100 from the Fabric ledger:

- Once the OEM receives the order, it starts to work and produce the iPad device. Then, the OEM ships the device to the school. To do this, issue the following Ship command with assetId, Comment, and Location:
peer chaincode invoke -n mycc -c '{"Args":["Ship", "100", "OEM deliver ipad to school", "New Jersey"]}' -C myc
The following screenshot will be the output of the previous code:

- Once the device is received, the school will distribute the device to the student. Issue the following Distribute command with assetId, Comment, and Location:
peer chaincode invoke -n mycc -c '{"Args":["Distribute", "100", "Distribute device to student", "New York"]}' -C myc
We should see the following result:

- We have now completed the entire process for our demo use case. As we discussed earlier, blockchain is a ledger system; it will keep track of all transactions. Once records are saved to the blockchain, they cannot be altered. We should be able to see this historical transaction data. In our asset manager example, we issued the Order, Ship, and Distribute commands and the related chaincode was invoked. All related asset transaction records should be kept in the blockchain. Let's verify this by issuing the getHistory command:
peer chaincode query -C myc -n mycc -c '{"Args":["getHistory","100"]}'
This command will provide the following results:

As we can see, the getHistory command returns all of the transaction records we invoked from Fabric blockchain.
推薦閱讀
- 下金蛋的數(shù)學(xué)問題
- 妙趣橫生博弈論:事業(yè)與人生的成功之道(白金版)
- Origin 9.0科技繪圖與數(shù)據(jù)分析超級(jí)學(xué)習(xí)手冊(cè)
- 粗糙集的論域擴(kuò)展理論及在專家系統(tǒng)中的應(yīng)用
- 數(shù)學(xué)的雨傘下:理解世界的樂趣
- 數(shù)獨(dú)游戲全集
- 小學(xué)數(shù)學(xué)廣角教學(xué)研究
- 隨機(jī)數(shù)學(xué)及其應(yīng)用
- 數(shù)學(xué)建模
- 數(shù)學(xué)女孩5:伽羅瓦理論
- 說不盡的圓周率
- 咖啡時(shí)間聊數(shù)學(xué)
- 迷人的數(shù)學(xué)+美麗的數(shù)學(xué)(共2冊(cè))
- 概率論與數(shù)理統(tǒng)計(jì)
- 黎曼猜想漫談:一場(chǎng)攀登數(shù)學(xué)高峰的天才盛宴