原创 解決CentOS無法識別網卡問題

在聯想電腦安裝CentOS 6.9系統的時候,出現了無法上網問題,記錄下這一路的坑。 CentOS安裝時在設置主機名這一步的下方有配置網絡按鈕,而此時該按鈕點擊無效。進入系統後發現沒有網絡連接。 在終端輸入ifconfig命

原创 AVL樹的創建--C語言實現

AVL樹是一種自平衡(Self-balancing)二叉查找樹(Binary Search Tree),要求任何一個節點的左子樹和右子樹的高度之差不能超過1。 AVL樹的插入操作首先會按照普通二叉查找樹的插入操作進行,不同的是

原创 Hyperledger Fabric——balance transfer(一)啓動示例

Blacne transfer是Hyperledger fabric Node SDK的一個示例應用,主要使用了SDK中fabric-client 和 fabric-ca-client 模塊中的API,實現了與Fabric網絡交

原创 Hyperledger Fabric——balance transfer(二)註冊用戶

詳細分析blance transfer示例的用戶註冊(register)與登錄(enroll)功能。 源碼分析 1.首先分析項目根目錄的app.js文件中關於用戶註冊和登錄的路由函數。注意這裏的token很重要,在之後的請求中

原创 Hyperledger Fabric Node SDK和應用開發

Hyperledger Fabric 提供了多種語言的SDK版本,其中提出比較早、比較穩定而全面的是Node.js版本的SDK。 前面提到的fabric示例(如first-network和e2e-cli)都只是在單機上的簡單測

原创 Hyperledger Fabric——balance transfer(三)創建和加入Channel

詳細解析blance transfer示例的創建通道(Channel)和加入節點到通道的過程。 創建Channel 1.首先看app.js的路由函數 var createChannel = require('./app/cre

原创 MIT6.S081/6.828準備:MacOS下搭建xv6和risc-v環境

本文介紹在MacOS下搭建Mit6.828/6.S081 fall2019實驗環境的詳細過程,包括riscv工具鏈、qemu和xv6,對於Linux系統同樣可以參考。 介紹 只有瞭解底層原理才能寫好上層應用,曾經幾度想要系統地學習OS

原创 Hyperledger Fabric基礎概念介紹

Hyperledger fabric是Linux Foundation主辦的超級賬本項目下的開源項目之一,旨在提供一個模塊化的區塊鏈解決方案的支撐平臺。 概述 一、區塊鏈的共有特性 1.分佈式存儲(Distributed L

原创 Fabric進階(三)—— 使用SDK動態增加組織

在fabric網絡運行過程中動態追加新的組織是相當複雜的,網上的資料也十分匱乏,大多是基於first-network這樣的簡單示例,而且是使用啓動cli容器的方法來增加組織,幾乎沒有針對實際應用的解決方案。本文介紹瞭如何在應用程序中調用SD

原创 Chaincode調試 —— 開發者模式和單元測試

在fabric開發中,chaincode的測試是一個令人比較頭疼的問題,一是由於實際情況中chaincode中的存儲和查詢是依賴於peer節點上的狀態數據庫的,所以無法在本地直接測試;二是由於chaincode是運行於容器中的,這導致我們很

原创 Hyperledger Fabric——balance transfer(四)安裝和實例化chaincode

詳細解析blance transfer示例的安裝(install)和實例化(Instantiate)鏈碼(chaincode)的過程。安裝chaincode會根據本地的鏈碼文件生成chaincode鏡像,實例化chaincode則會

原创 Fabric進階(二)—— 在已有組織中增加節點

fabric網絡在創建時就已經確定了初始的節點數量,而在實際應用場景中可能會需要在某個組織中動態增加節點。這裏以balance-transfer v1.0爲例(2 Org,4 Peer),介紹如何在org1中加入第3個peer節點。 一、

原创 Hyperledger Fabric——balance transfer(五)執行交易

鏈碼安裝和實例化之後就可以調用chaincode執行交易,下面分析簡單的賬戶轉賬操作是如何完成的。 源碼分析 1.首先看app.js的路由函數 app.post('/channels/:channelName/chaincodes

原创 Fabric進階(四)—— 自動化多機部署

前面關於fabric部署的介紹都是基於單機環境下的,實際生產環境中一般會根據應用場景將節點分開部署在多臺物理機上,面臨的難題主要是不同主機間的節點如何通過網絡進行通信。 前言 這裏仍然以balance-transfer v1.0爲例,嘗試

原创 Hyperledger fabric MSP成員管理

Hyperledger fabric 1.0 基於 PKI(Public Key Infrastructure)體系,引入了MSP模塊(Membership Service Provider): 成員管理服務提供商,生成數字證書來標