使用Hyperlegder Fabric體驗區塊鏈智能合約的樂趣----編寫一個簡單的BookstoreApp(下)

今天咱們接着上一篇文章來將。該說買家了。php

0x08_買家的場景

爲了實現退貨不能退錯的問題,咱們這裏假設有兩個用戶,可是他們通歸屬於同一個組織DigiBank。html

首先仍是將他們的錢包添加:數據庫

接着,咱們讓用戶Balaji來買書,因此,調用的就應該是Balaji的Buy程序:服務器

當Balaji買了書籍以後,咱們調用一下query方法,來看一下如今書籍的信息:網絡

此時,咱們能夠看到,這個時候,書籍的歸屬者已經屬於 DigiBank的Balaji了。而後咱們看一下Balaji能不能讀取書裏面的內容:區塊鏈

徹底能夠,那這個時候看一下同是一個組織的Tom能不能讀取書裏面的內容?測試

看到提示錯誤:這本書不歸屬於Tom。因此他沒有權限讀書。大數據

可是此時,由於這本書在Balaji手裏,那麼咱們看一下 Bookstopre 那邊的工做人員能不能讀書:網站

結果看到,也是不行,書店對書沒有擁有權,因此書店也不能讀取書裏面的內容。阿里雲

這個時候,還有case能夠測試,那就是:書歸屬於Balaji,可是若是調用Tom的return方法,看看行不行?

結果發現,提示錯誤,說書籍不歸屬於Tom,因此Tom無權退貨。這個操做也就保證了在退貨流程裏,真正擁有書籍全部權的人才可以成功退貨。

接着咱們就來看看調用Balaji的return方法會怎樣:

退款成功!當Balaji退款以後,咱們再看一下Balaji是否還有權限來讀書:

0x09_回到書店

這個時候,書剛剛退回到書店,此時書的狀態是RETURNED,剛剛退回的書是不可以買賣的,須要書店從新上架,因此,這個時候,若是再次調用買家的Buy方法,則會報錯:

query方法查看一下狀態:

這個時候,咱們調用publish方法:

書本就能夠買賣了。可是,若是Tom的錢不夠,將會怎樣?

繼續報錯,提示Tom的錢不夠。

0x10_告一段落

這個書店的App就先給你們體驗到這裏了。目前先告一段落,雖然還有不少須要改進的地方。這次文章的宗旨就是讓你們體驗一下區塊鏈程序的魅力。

若是你本身動手實踐的話,會以爲頗有意思。

這裏就要和你們吐槽一句了,有些時候,有個服務器是真的爽,既能搞網站,又能搞其餘的,如今這個時代,各類技術最後都要最終落腳到網絡上,你說你就一個單機電腦,寫再多程序,只在本身電腦上跑,真正工做或者其餘什麼狀況,讓你在網絡上部署,你確定出錯啊。倒不如早早的就開始擁抱網絡,擁有本身的一臺服務器,或者多臺,早早下手訓練,未來一定脫穎而出。這個能夠拿什麼類比?當時單機的時候,數據量不大,你還好處理,可是當數據量一多起來,你就必須得拿大數據的東西來處理了。網絡也是同樣。

光說不練非好漢,這裏就給你們帶來一點小的福利:

由於文章都是涉及到服務器的,因此福利就要寫在最前面
皮爺這裏就有上千元的阿里雲和騰訊雲的優惠券給你使用(每一款優惠只要點擊優惠連接,進入便可領取):

阿里雲部分
【阿里雲新人1888元雲產品通用代金券】:
promotion.aliyun.com/ntms/yunpar…

【阿里雲爆款雲主機,2折優惠券】:
promotion.aliyun.com/ntms/act/qw…

【阿里雲企業級服務器2折優惠券】:
promotion.aliyun.com/ntms/act/en…

騰訊雲

【新客戶無門檻領取總價值高達2775元代金券,每種代金券限量500張,先到先得】:
cloud.tencent.com/redirect.ph…

【騰訊雲服務器、雲數據庫特惠,3折優惠券】:
cloud.tencent.com/redirect.ph…

代碼我已經在公衆號裏面分享了,想要獲取源碼的同窗,能夠關注公號『皮爺擼碼』,回覆『代碼』便可找到,記住對應的代碼編號是『HF001』,代碼編號是『HF001』,代碼編號是『HF001』。

最後,搖一搖,來嗎?



相關文章
相關標籤/搜索