Tiếp theo phần 1, phần này sẽ đi sâu vào thực hành, hướng dẫn các bạn cách cài đặt một mạng blockchain dùng Hyperledger Fabric

Dưới đây là mô hình 1 mạng blockchain Hyperledger fabric

Image result for hyperledger fabric network

Ở mô hình trên, Fabric CA là Fabric Certificate Authority cung cấp authentication cho các participant trong mạng Hyperledger.  Bất kỳ participant nào tham gia mạng blockchain phải được đăng kí với CA trước. Quá trình này gọi là enrollment. Peer là các computer node, lưu trữ bản copy của blockchain và thực hiện quá trình consensus. Ordering service kiểm tra permission của clien, validate các transaction đến từ client.

Chúng ta sẽ cài đặt mạng blockchain này trên môi trường Linux Ubuntu 16.04

Prerequisites

Trước khi cài đặt Hyperledger, cần cài đặt những tool sau

Git client Go – 1.7.5 For macOS, Xcode must be installed Docker – 17.03.0-ce or later Docker Compose – 1.8.1 or later Pip

Những tool trên thì cài đặt như guideline (Google Search ra đầy), chỉ chú ý về Go, không nên cài đặt go vào thư mục /usr/ mà nên cài vào thư mục  ~ để tránh việc permission sau này. Sau đó setup GOPATH trong file ~/.bashrc như dưới

Cloning the Hyperledger Fabric source

Tạo một thư mục  github.com/Hyperledger trong thư mục $GOPATH để clone source code Fabric về

cd $GOPATH/src

mkdir -p github.com/hyperledger

cd github.com/hyperledger

Sau đó chạy git clone để  download Hyperledger Fabric từ github  về

Build mạng hyperledger

Hyperledger cung cấp 1 bản sample để bạn có thể build 1 mạng blockchain đơn giản

git clone https://github.com/hyperledger/fabric-samples.git

cd fabric-samples

 Hyperledger đã đóng gói Fabric-CA, Ordering Service, Peer thành các docker, bạn cần download các docker image này về để sử dụng như sau

curl -sSL https://goo.gl/kFFqh5 | bash -s 1.1.0

 Chú ý version giữa bản binary và bản fabric sample ở trên cần cùng 1 version, nếu khác version sẽ gây lỗi khi running sau này

Đây là lệnh mình hay dùng

 git clone -b master https://github.com/hyperledger/fabric-samples.git

cd fabric-samples

git checkout v1.1.0-alpha

cd fabric-samples

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0-alpha

 Lệnh trên sẽ download file shellscript và và thực hiện shell để download và extract bộ binaries của Hyperleger Fabcric về cũng như các docker images

Navigate vào thư mục fabcar trong bộ fabric-sample, execute shellscript ./startFabric để khởi động mạng blockchain và install smartcontract sẵn có vào blockchain

Phân tích shellscript này để biết nó làm gì

Đoạn script này chạy 1 shell script khác từ thư mục basic-network là start.sh

Command docker-compose sẽ run các fabric container đã down đươc ở bước trên bao gồm fabric CA (ca.example.com), ordering service (orderer.example.com) và peer (peer0.org1.example.com) và cuối cùng là couchdb, một built-in database của Fabric ledger .Các container này được định nghĩa trong docker-compose.yml

Sau đó là tạo 1 channel của fabric và join peer0.org1.example.com và channel này. Giải thích thêm channel trong Hyperledger fabric là một sub-network, các peer trong cùng 1 channel này sẽ maintain 1 distributed ledger tách biệt với các peer trong channel khác

Còn đoạn command dưới là thực hiện việc cài đặt và khởi tạo 1 smartcontract tên là fabcar vào mạng hyperledger

Cuối cùng, chạy lệnh docker ps  để thấy các fabric instance như ca, peer, ordering đang chạy

Trên đây là cách setup 1 mạng blockchain Hyperledger đơn giản, bài tiếp theo sẽ hướng dẫn bạn cách phát triển app tương tác với mạng blockchain này.

Nguồn: giaosucan.com

Xem phần 1: Hyperledger là gì?

The form you are trying to view has been unpublished.