基于超級賬本Fabric的供應鏈跟蹤解決方案【開源】

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

本項目為基于Hyperledger Fabric區塊鏈的供應鏈資產跟蹤解決方案,項目主要包括鏈碼和Web應用兩部分。Fabric鏈碼采用GOLANG開發,負責維護資產的狀態,后臺為采用Node.js開發的Web應用,負責為用戶提供訪問區塊鏈上資產的操作界面,例如資產的創建、所有權轉移等操作。

如果希望快速高效地掌握超級賬本Fabric區塊鏈的開發,強烈推薦這個在線互動課程:

  • Fabric區塊鏈鏈碼與應用開發詳解

在本項目中要跟蹤的資產是大理石,當然可以換成和你的業務相關的任何類型資產。大理石資產的屬性定義如下,所有的屬性值都是字符串:

  • ID:資產的唯一標識符
  • COLOR:資產的顏色
  • SIZE:資產的尺寸,單位:MM
  • OWNER:持有人

本項目提供一個基于Web的用戶界面,以便用戶操作區塊鏈上的數據。資產在區塊鏈上以鍵/值對的形式保存。我們使用資產ID作為鍵,所有的資產屬性構成一個JSON對象,其對應的字符串作為資產的值。在Fabric區塊鏈上,應用與鏈碼的交互是通過與網絡上的Peer節點通過gRPC協議通信完成的。

marbles peek

應用通信框架

整個應用的通信流程如下圖所示:

communication flow

1、管理員使用瀏覽器與Node.js應用交互,我們將該Node.js應用稱為Marbles。

2、瀏覽器中的客戶端JS代碼將通過websocket與Node.js應用交互,當管理員操作界面時,客戶端 JS將向后端發送消息。

3、讀寫賬本的操作在Fabric中被稱為提議(Proposal),由Node.js應用負責生成提議并發送給Fabric區塊鏈的對等節點(Peer)。

4、Peer節點與部署在其本地的鏈碼通信,鏈碼將執行/模擬交易,如果模擬的結果沒有問題,節點 將對交易進行背書并返回響應給Node.js應用。

5、Node.js應用會將背書過的提議發送給Farbic區塊鏈的排序節點(Orderer),排序節點負責將整個網絡上的多個提議打包并生成新的區塊,然后廣播給所有的對等節點。

6、最后,對等節點將驗證收到的區塊,然后寫入自己維護的賬本,交易現在就生效了,任何之后 發生的賬本讀取操作都可以反應賬本的變化。

使用手冊

安裝完成后,訪問http://localhost:3001打開web界面,可以執行資產創建、資產交易等操作。

創建新資產

點擊**+**圖標創建新的資產:

use_marbles1

在彈出的窗口中輸入所有的資產屬性后,點擊CREATE按鈕,然后等待新資產在鏈上創建成功。

資產交易

在web界面中可以通過拖拽方式將一個大理石資產的所有權從一個用戶轉移給另一個用戶。

刪除資產

在web界面中也可以將資產拖拽到垃圾桶中,然后等待資產從鏈上消失:

use_marbles2

資產查詢

可以在web頁面中按資產持有人或資產公司名稱進行查詢。

應用源碼鏈接:https://github.com/Incede/SupplyChain


原文鏈接:基于Fabric區塊鏈的供應鏈跟蹤解決方案 — 匯智網

轉載于:https://my.oschina.net/u/3794778/blog/3027089

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275526.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275526.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275526.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

同理心案例及故事分享_神經形態,視覺可及性和同理心

同理心案例及故事分享“A good UX designer has empathy”.“優秀的UX設計人員具有同理心”。 This is something every UX designer has heard at some point in their career. Empathy helps us get into the mindset of the user and build solutions that solve real probl…

純CSS實現beautiful按鈕

大家好,我是若川。邀你進源碼共讀群學習交流。今天分享一篇好文。可收藏~近期工作中遇到一個需求——實現一些酷炫的按鈕,看到效果圖之后,按鈕確實漂亮,有彈跳、顏色漸變、掃光、霓虹燈,瞬間激起了我的好奇…

linux的內核有多小,Linux 內核有小bug?

今天讀著讀著Linux代碼,竟然無意中發現Linux 0.11內核有個小bug,呵呵,人非圣賢孰能無過。// 在目錄項數據塊中搜索匹配指定文件名的目錄項,首先讓de 指向數據塊,并在不超過目錄中目錄項數// 的條件下,循環執…

菜單窗口_菜單

菜單窗口The Hamburger Menu widget is on every other site nowadays. It has become synonymous with the web and, perhaps even more so, with web development. Have, for instance, a look at Dribbble or Codepen. There you’ll find a fair share of examples. They c…

帝國cms 打開打開轉換表文件失敗!

帝國cms 升級到最新版6.6 后 生成列表頁面和 搜索 時出現 “打開打開轉換表文件失敗!” 跟蹤文件找到 include($file); 這行代碼時出錯非常納悶,這個是php的內部命令啊,跟帝國的編碼應該沒有關系一直沒有再往下細找,只好根據錯誤提…

怎么在PDF上修改文字,PDF修改文字的步驟

怎么在PDF文件上修改文字呢?其實現在的很多的PDF文件上會出現文字錯誤的情況,想要修改PDF文件上面的文字卻不知道怎么修改,想要修改PDF文件還是比較簡單的,使用專業的PDF編輯器就可以進行操作了,下面小編就為大家分享一…

linux raw限制端口訪出,使用Linux raw socket時需要注意的一些問題

本文的copyleft歸gfree.windgmail.com所有,使用GPL發布,可以自由拷貝,轉載。但轉載請保持文檔的完整性,注明原作者及原鏈接,嚴禁用于任何商業用途。作者:gfree.windgmail.com博客:linuxfocus.bl…

讀完 Vue 發布源碼,小姐姐回答了 leader 的提問,并優化了項目發布流程~

大家好,我是若川。這是 源碼共讀 第三期活動,紀年小姐姐的第三次投稿。紀年小姐姐學習完優化了自己的項目發布流程,而且回答了leader對她的提問,來看看她的思考和實踐。第三期是 Vue 3.2 發布了,那尤雨溪是怎么發布 Vu…

小程序背景圖片的坑

本人是前端菜鳥一個,比小白還要白,這完全是自己的經驗總結,并不是要給各位分享什么寶貴經驗哈,各位大佬不喜勿噴,不然會打擊到我的哈哈因為公司要求做幾個小程序的頁面,我不得不拾起丟棄了幾個月的小程序開…

SimpleAdapter類使用方法

SimpleAdapter的構造函數是&#xff1a; public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) 官方說明了其各個參數含義&#xff0c;我這里根據自己的理解解釋下&#xff1a; 第一個context&…

小程序 富文本自適應屏幕_自適應文本:跨屏幕尺寸構建可讀文本

小程序 富文本自適應屏幕Many of you may already know about responsive web design. Cited from Wikipedia, responsive web design (RWD) is an approach to web design that makes web pages render well on a variety of devices and windows or screen sizes. The respon…

Vue、React 之間如何實現代碼移植?

大家好&#xff0c;我是若川。面對前端最火的兩個框架&#xff0c;學 React 還是 Vue &#xff1f;這可能是每個前端人都曾糾結過的問題。不過&#xff0c;現在你不用糾結了——因為很多公司都是兩個框架都有大量的應用&#xff0c;取決于不同團隊的技術選型&#xff0c;特別是…

linux mariadb 亂碼,配置mariadb遠程訪問權限,解決數據庫亂碼問題

配置mariadb遠程訪問權限&#xff1a;1)登錄數據庫:# mysql -uroot -p2)配置授權數據庫用戶遠程訪問權限&#xff0c;%表示所有遠程IP&#xff0c;也可以指定IP。WITH GRANT OPTION表示mysql數據庫的grant表中重新加載權限數據&#xff1a;GRANT ALL PRIVILEGES ON *.* TO 用戶…

平面設計師和ui設計師_游戲設計師的平面設計

平面設計師和ui設計師Design is a very ancient practice, but graphic design really found its core principles post World War One. Games are also very ancient but video games are still finding their feet. I think graphic design has a few things to teach people…

從零開發一個命令行腳手架工具 等

大家好&#xff0c;我是若川。今天周末&#xff0c;話不多說&#xff0c;這一次花了幾小時精心為大家挑選了20余篇好文&#xff0c;供大家閱讀學習。本文閱讀技巧&#xff0c;先粗看標題&#xff0c;感興趣可以都關注一波&#xff0c;絕對不虧。前端宇宙小編就職于某大廠&#…

linux的HAL庫函數,STM32 HAL庫 IIC 協議庫函數

/* 第1個參數為I2C操作句柄第2個參數為從機設備地址第3個參數為從機寄存器地址第4個參數為從機寄存器地址長度第5個參數為發送的數據的起始地址第6個參數為傳輸數據的大小第7個參數為操作超時時間 */HAL_I2C_Mem_Write(&hi2c2,salve_add,0,0,PA_BUFF,sizeof(PA_BUFF),0x10)…

pku acm 2140 Herd Sums http://acm.pku.edu.cn/JudgeOnline/problem?id=2140

2140代碼短小精悍&#xff1a;#include<stdio.h> int main() { int cnt0,i; long s; scanf("%ld",&s); for(i1;(i1)*i/2<s;i)if((s-(i-1)*i/2)%i0)cnt; printf("%d\n",cnt); return 0; }轉載于:https://www.cnblogs.com/Chinese-Coder-C…

java合成海報的工具類

2019獨角獸企業重金招聘Python工程師標準>>> package io.renren.common.utils;import cn.hutool.core.lang.Console; import io.renren.modules.oss.cloud.OSSFactory;import javax.imageio.ImageIO; import javax.imageio.stream.ImageOutputStream; import java.a…

a說b說謊b說c說謊說d說_說謊的眼睛及其同伙

a說b說謊b說c說謊說d說The eye is a complex and temperamental organ. By the end of this article, designers will have a better understanding of how the eye works with the brain, how it deconstructs images that the brain stitches back up again, and how the two…

一名運營,自學一年前端,成功入職杭州某獨角獸企業,他的面試經驗和學習方法等分享...

大家好&#xff0c;我是若川。這是我的微信群里小伙伴年年 的投稿。他是19年畢業&#xff0c;之前做的是運營相關的工作&#xff0c;在我的交流群里非常活躍&#xff0c;自學一年前端&#xff0c;目前成功轉行入職杭州一家獨角獸企業。相信他的文章能帶給大家一些啟發和激勵。0…