Hướng Dẫn Cài Đặt Mạng Blockchain Dùng Hyperledger Fabric (p2)

Thảo luận trong 'Học tập' bởi BinhAn1995, 3/11/2018.

  1. BinhAn1995

    BinhAn1995 Thành viên đạt chuẩn

    Tham gia:
    23/10/2018
    Bài viết:
    75
    Đã được thích:
    1
    Điểm thành tích:
    6
    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
    [​IMG]
    Ở 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
    PrerequisitesTrướ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
    [​IMG]
    [​IMG]
    Cloning the Hyperledger Fabric sourceTạ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ề
    [​IMG]
    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
    [​IMG]
    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
    [​IMG]
    Phân tích shellscript này để biết nó làm gì
    [​IMG]
    Đoạn script này chạy 1 shell script khác từ thư mục basic-network là start.sh
    [​IMG]
    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
    [​IMG]
    Cuối cùng, chạy lệnh docker ps để thấy các fabric instance như ca, peer, ordering đang chạy
    [​IMG]
    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.
     

    Xem thêm các chủ đề tạo bởi BinhAn1995
    Đang tải...


Chia sẻ trang này