任務六 開發區塊鏈應用_第1頁
任務六 開發區塊鏈應用_第2頁
任務六 開發區塊鏈應用_第3頁
任務六 開發區塊鏈應用_第4頁
任務六 開發區塊鏈應用_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

開發區塊鏈應用本任務首先從了解區塊鏈概念開始,逐步深入,掌握區塊鏈技術原理,并學習區塊鏈技術的應用,進而思考區塊鏈技術在航運中該如何應用。>content制定開發文檔01賬戶02使用webase開發第一個智能合約03制定開發文檔PART01對于基于區塊鏈技術的貨物追蹤系統,用例圖能夠清晰地描繪出貨主、承運商等關鍵角色如何與系統的功能進行交互。下面我們將通過用例圖來介紹該系統實現的主要功能。其中兩個主要的角色分別是貨主和承運商,在此,也以這兩個角色做主要介紹。貨主是貨物的所有者或委托人,關心貨物的實時位置和狀態。承運商則是負責貨物運輸的物流公司或個體,負責在運輸過程中采集和上傳貨物數據。A.功能需求需求分析A.功能需求需求分析在用例圖6-1中,參與者(貨主、承運商)被表示為人物,而系統的各個功能(數據采集與上傳、數據驗證與存儲等)則被表示為橢圓形。參與者與功能之間的交互關系用帶箭頭的線表示,箭頭指向功能,表示參與者觸發了該功能。例如,貨主與“貨物查詢”用例之間有一條帶箭頭的線,表示貨主可以觸發該功能來查詢貨物的位置和狀態。同樣,承運商與“數據采集與上傳”用例之間也有一條線,表示承運商負責采集并上傳貨物數據。A.功能需求需求分析(1)注冊與認證提供貨主、承運商、倉庫管理員等角色的注冊功能。通過多因素認證確保用戶身份的安全性。為用戶提供數字身份,以便在區塊鏈上進行安全、可驗證的交互。(2)貨物信息錄入允許貨主錄入貨物的詳細信息,如貨物名稱、數量、體積、起始地、目的地、預計到達時間等。支持上傳貨物的圖片、視頻等多媒體資料。(3)實時追蹤與更新利用區塊鏈技術,實時追蹤貨物的位置、狀態、運輸進度、運輸異常等信息。允許承運商、倉庫管理員等更新貨物的實時狀態,如“已裝車”、“已到達某地點”等。任何狀態的更改都會被記錄在區塊鏈上,確保數據的真實性和不可篡改性。(4)信息共享溯源系統需要實現品牌商、渠道商、零售商、消費者、監管部門,以及第三方檢測機構之間的信息在信任的前提下進行共享,全面提升品牌、效率、體驗、監管和供應鏈整體收益。所有參與者都可以在自己的權限范圍內查看貨物的追蹤信息。提供精細化的權限管理,如某些敏感信息只對特定角色可見。確保數據共享的安全性和隱私性。(5)數據存儲溯源系統應能夠提供貨物信息的查詢功能,包括歷史運輸記錄查詢、貨物狀態查詢等。系統應能夠對貨物運輸數據進行分析,提供貨物運輸趨勢、運輸成本分析等報告。B.非功能需求1系統性能與穩定性23響應速度:系統應能在短時間內快速響應查詢請求,提供實時的貨物追蹤信息。對于大規模并發請求,系統應具備良好的處理能力,確保用戶能夠迅速獲取所需信息。穩定性:系統應具備高度的穩定性,能夠長時間無故障運行。在遭遇意外情況時,如網絡故障、硬件故障等,系統應能夠自動恢復或提供降級服務,以確保貨物追蹤的連續性。數據安全:系統應采取有效措施保護存儲在區塊鏈上的貨物追蹤數據,防止數據被篡改或泄露。同時,系統應定期備份數據,以應對可能的數據丟失風險。隱私保護:在追蹤貨物的過程中,系統應尊重用戶的隱私權,避免泄露敏感信息。對于涉及個人隱私的數據,系統應采取加密等安全措施進行保護。可擴展性:隨著業務的發展,系統應能夠支持更多的用戶和更復雜的業務場景。因此,在設計系統時,應充分考慮其可擴展性,以便在未來能夠輕松地進行升級和擴展。靈活性:系統應具備較高的靈活性,以適應不同用戶的需求和業務變化。例如,系統應支持自定義的追蹤規則、報警機制等,以滿足用戶多樣化的需求。安全性與隱私保護可擴展性與靈活性B.非功能需求4易用性與用戶體驗5界面友好:系統應提供簡潔明了的用戶界面,使用戶能夠輕松上手。同時,系統應提供詳細的操作指南和幫助文檔,以便用戶在使用過程中遇到問題能夠及時得到解決。交互便捷:系統應提供多種交互方式,如PC端、移動端等,以便用戶能夠隨時隨地進行貨物追蹤。此外,系統還應支持多語言切換,以滿足不同國家和地區用戶的需求。可維護性:系統應具備良好的可維護性,便于開發人員對系統進行維護和升級。系統應提供完善的日志記錄和監控功能,以便及時發現和解決潛在問題。可管理性:系統應提供強大的管理功能,使管理員能夠輕松地對用戶、權限、數據等進行管理。同時,系統應支持自定義的權限設置,以滿足不同組織機構的管理需求。可維護性與可管理性應用架構和流程設計區塊鏈系統的應用架構基于區塊鏈技術的貨物追蹤系統應用架構,主要包括數據采集層、區塊鏈網絡層、智能合約層、應用服務層以及用戶界面層。各層次之間通過標準化的接口進行通信和數據交互,實現貨物信息的實時采集、驗證、存儲和查詢,框架如圖6-2所示。應用架構和流程設計應用架構和流程設計區塊鏈系統的應用架構(1)數據采集層數據采集層是貨物追蹤系統的數據來源,主要通過物聯網設備(如RFID、GPS、傳感器等)實時采集貨物在運輸過程中的位置、狀態、溫度、濕度等關鍵信息。這些設備可以將采集到的數據通過無線傳輸方式發送到區塊鏈網絡層進行處理。(2)區塊鏈網絡層區塊鏈網絡層是整個應用架構的核心,負責數據的存儲和驗證。該層采用區塊鏈技術,構建一個去中心化、不可篡改的數據存儲網絡。通過共識機制(如工作量證明、權益證明等),確保所有參與節點對數據的認可和驗證,保證數據的真實性和可信度。應用架構和流程設計(3)智能合約層智能合約層是貨物追蹤系統的業務邏輯層,通過部署智能合約實現數據的自動驗證、存儲和查詢。智能合約可以根據預設的規則,自動執行數據驗證操作,如檢查數據的完整性、真實性和合規性。同時,智能合約還可以根據業務需求,自動觸發相應的操作,如更新貨物狀態、發送預警通知等。(4)應用服務層應用服務層為用戶提供豐富的貨物追蹤應用服務。通過API接口,用戶可以實時查詢貨物的位置、狀態、運輸路徑等信息。此外,系統還可以提供貨物異常預警、數據分析報告等服務,幫助用戶及時發現潛在問題并做出相應決策。應用架構和流程設計(5)用戶界面層用戶界面層是貨物追蹤系統與用戶之間的交互界面,為用戶提供直觀、便捷的操作體驗。通過PC端、移動端等多種形式的界面,用戶可以輕松查詢貨物信息、設置追蹤規則、接收預警通知等。同時,系統還提供友好的操作指南和幫助文檔,方便用戶快速上手。(6)安全性與隱私保護在基于區塊鏈技術的貨物追蹤系統應用架構中,安全性與隱私保護至關重要。系統采用多種安全措施,如數據加密、訪問控制、審計日志等,確保數據的機密性和完整性。同時,通過合理的隱私保護策略,如匿名化處理、數據脫敏等,平衡數據共享與隱私保護之間的關系。應用架構和流程設計2.區塊鏈系統的流程設計隨著物流行業的快速發展和全球化貿易的不斷推進,貨物追蹤系統的需求愈發迫切。傳統的貨物追蹤方式往往存在著信息不透明、易篡改、追溯難等問題,無法有效滿足現代物流管理的需求。而區塊鏈技術以其去中心化、不可篡改和透明性等特點,為貨物追蹤提供了新的解決思路。本文將詳細闡述基于區塊鏈技術的貨物追蹤系統的流程設計。(1)流程概述基于區塊鏈技術的貨物追蹤系統流程設計主要包括數據采集、數據上鏈、數據驗證、數據查詢和預警提醒等環節。通過這些環節的有序配合,實現對貨物全生命周期的實時追蹤和監控。應用架構和流程設計2.區塊鏈系統的流程設計(2)數據采集數據采集是貨物追蹤流程的首要環節。通過物聯網設備(如RFID、GPS等)對貨物進行標識,并實時采集貨物的位置、狀態、溫度、濕度等關鍵信息。這些數據將通過無線傳輸方式發送到數據處理中心,為后續的數據上鏈做準備。(3)數據上鏈數據處理中心接收到采集到的貨物數據后,將對這些數據進行清洗、整合和格式化處理,以確保數據的質量和準確性。隨后,這些數據將通過區塊鏈網絡層的節點進行上鏈操作。利用區塊鏈的去中心化特性,確保數據在多個節點之間同步存儲,增強數據的可靠性和安全性。應用架構和流程設計2.區塊鏈系統的流程設計(4)數據驗證在數據上鏈過程中,智能合約將自動執行數據驗證操作。智能合約可以根據預設的規則和算法,對數據的完整性、真實性和合規性進行驗證。只有通過驗證的數據才能被成功寫入區塊鏈中,確保區塊鏈上存儲的數據的真實性和可信度。(5)數據查詢基于區塊鏈技術的貨物追蹤系統提供了實時、透明的數據查詢功能。用戶可以通過系統界面輸入貨物的標識信息(如訂單號、運單號等),系統將自動在區塊鏈網絡中檢索相關貨物的數據,并將查詢結果展示給用戶。用戶可以實時了解貨物的位置、狀態、運輸路徑等信息,提高物流管理的效率和透明度。應用架構和流程設計2.區塊鏈系統的流程設計(6)預警提醒貨物追蹤系統還具備預警提醒功能。智能合約可以根據預設的規則和閾值,對貨物的狀態進行實時監控。當貨物出現異常情況(如溫度超出范圍、位置偏離預定路線等)時,系統將自動觸發預警機制,通過短信、郵件等方式通知相關用戶進行處理。這有助于及時發現潛在問題,減少貨物損失和延誤風險。(7)安全性與隱私保護在基于區塊鏈技術的貨物追蹤系統流程設計中,安全性與隱私保護是至關重要的考慮因素。系統應采用先進的加密技術,對敏感數據進行加密處理,確保數據的機密性和完整性。賬戶PART02創建賬戶使用以下指令獲取get_account.sh腳本:curl-#LO/FISCO-BCOS/console/master-2.0/tools/get_account.sh&&chmodu+xget_account.sh&&bashget_account.sh-h國密版本使用以下指令:curl-#LO/FISCO-BCOS/console/master-2.0/tools/get_gm_account.sh&&chmodu+xget_gm_account.sh&&bashget_gm_account.sh-h創建賬戶如果因為網絡問題無法下載,改為使用以下指令:curl-#LO/FISCO-BCOS/FISCO-BCOS/tools/get_account.sh&&chmodu+xget_account.sh&&bashget_account.sh-h國密版本則改為使用以下指令獲取get_gm_account.sh:curl-#LO/FISCO-BCOS/console/master-2.0/tools/get_gm_account.sh&&chmodu+xget_gm_account.sh&&bashget_gm_account.sh-h執行指令后,看到如圖6-3輸出:國密版本指令執行后輸出,如圖6-4所示:創建賬戶使用以下指令生成私鑰與地址:bashget_account.sh執行指令后,可以得到類似以下的輸出,包括賬戶地址和以賬戶地址為文件名的私鑰PEM文件,如圖6-5所示:創建賬戶使用以下指令生成私鑰與地址:bashget_account.sh-p執行指令后,可以得到類似以下的輸出,按照提示輸入密碼,生成包括賬戶地址和對應的.p12文件,如圖圖6-7所示:創建賬戶指定.p12私鑰文件計算賬戶地址,按提示輸入.p12文件密碼,如圖6-8所示:bashget_account.sh-Paccounts/0x6444a4e6b5ff1ed9805ced38d7b30acc3464b7f9.p12執行指令后,輸出如下:賬戶計算首先,使用OpenSSL生成橢圓曲線私鑰,橢圓曲線的參數使用secp256k1。執行如下指令,生成PEM格式的私鑰并保存在ecprivkey.pem文件中:opensslecparam-namesecp256k1-genkey-noout-outecprivkey.pem執行如下指令,查看文件內容:catecprivkey.pem可以看到類似如圖6-9所示的輸出:賬戶計算根據私鑰計算公鑰,執行如下指令:opensslec-inecprivkey.pem-text-noout2>/dev/null|sed-n'7,11p'|tr-d":\n"|awk'{printsubstr($0,3);}'得到類似如圖6-10輸出:賬戶計算根據公鑰計算對應的賬戶地址需要獲取keccak-256sum工具。使用以下指令下載:wget/vkobel/ethereum-generate-wallet/blob/master/lib/1386/keccak-256sum得到如圖6-11所示輸出:賬戶計算使用如下命令計算地址:opensslec-inecprivkey.pem-text-noout2>/dev/null|sed-n'7,11p'|tr-d":\n"|awk'{printsubstr($0,3);}'|./keccak-256sum-x-l|tr-d'-'|tail-c41得到如圖6-12所示格式輸出,則為計算出的賬戶地址:使用webase開發第一個智能合約PART03使用webase開發第一個智能合約打開Ubuntu終端,使用如下命令啟動各節點:bash/root/fisco/nodes//start_all.sh執行結果如圖-6-13:使用webase開發第一個智能合約進入WeBase主目錄使用如下命令啟動WeBase-Front:bashstart.sh執行結果如圖6-14所示:使用webase開發第一個智能合約啟動后打開瀏覽器,輸入網址http://localhost:5002/WeBASE-Front訪問WeBase-Front。如圖6-15所示使用webase開發第一個智能合約選擇左側菜單欄合約管理選擇合約IDE,新建一個Solidity合約文件,并命名為HelloWorld.sol在文件中編寫如圖6-16所示代碼:1.pragmasolidity^0.6.0;2.3./**4.*HelloWorld智能合約5.*/6.contractHelloWorld{7.//合約變量8.stringpublicmessage;9./**10.*構造函數11.*/12.constructor(){13.//初始化合約變量14.message="Hello,World!";15.}16./**17.*設置合約變量值18.*19.*@paramnewMessage新的合約變量值20.*/21.functionset(stringmemorynewMessage)public{22.//設置合約變量值23.message=newMessage;24.}25./**26.*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論