Cài đặt môi trường phát triển ứng dụng mạng blockchain hyperledger
1. Giới thiệu về Hyperledger Fabric
Như tôi đã trình làng ở Bài 1, Public Blockchain là 1 trong những mạng cơ mà ai ai cũng rất có thể ttê mê gia, ảnh hưởng với mạng cùng truy vấn dữ liệu, vấn đề này khiến cho một vài Tổ chức ko sử dụng rộng rãi do bọn họ không thích công khai minh bạch những số liệu hoạt động vui chơi của mình. Mặt không giống, phần lớn các tổ chức chỉ cần công dụng bắt buộc sửa đổi của Blockchain, xuất xắc giả dụ một nhiều những Tổ chức cùng thiết kế một mạng thì họ chỉ việc "tính phân tán" trong phạm vi các Tổ chức đấy với cùng với mỗi một mạng thì lại sở hữu một các bước nhiệm vụ khác nhau cho nên việc thực hiện Public Blockchain là không quan trọng với thiếu thốn riêng tứ.
Bạn đang xem: Cài đặt môi trường phát triển ứng dụng mạng blockchain hyperledger
Trong lúc các mạng Public Blockchain vẫn dần kiểm soát và điều chỉnh nhằm tương xứng rộng cùng với yên cầu riêng biệt tứ của Thị Trường thì Hyperledger Fabric được ra đời để gia công vấn đề đấy.
Hyperedger Fabric là 1 trong vào 5 Framework về Blockchain bên trong kế hoạch Hyperledger Umbrella của Linux Foundation tất cả : Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth, Hyperledger Burror. Điều nhất là Hyperledger Fabric được contributed do ông bự IBM.
Hyperledger Fabric có modularity ( tính mô đun) khá cao vì thế nó chất nhận được các Doanh nghiệp tiện lợi plug và play nhằm thi công một áp dụng Private Blockchain cân xứng những yêu cầu nghiệp vụ của chính mình .
Phiên phiên bản tiên tiến nhất của Hyperledger Fabric tại thời khắc viết bài bác này là 2.0.0-altrộn.
Đến phía trên, số đông fan rất có thể hiểu rằng nói Hyperledger Fabric là một trong mạng Private Blockchain cũng đúng, hay như là 1 Framework nhằm kiến thiết Private Blockchain cũng như.
2. Kiến trúc của một mạng Hyperledger Fabric.
2.1 Kiến trúc đơn giản của một mạng Hyperledger Fabric

N: (Network) Mạng.
NC: Network Configuration ( Cấu hình của mạng ).
C: Channel ( Kênh ), tập đúng theo những tổ chức bao gồm sứ mệnh một mực trong cùng một các bước kinh doanh. lấy ví dụ như, trong một channel về giao thương xe cộ khá đang tất cả gồm 2 tổ chức là : Nhà thêm vào xe cộ tương đối, Nhà phân pân hận xe khá.
CC: Channel Configuration ( Cấu hình của kênh ).
R: Organization ( Tổ chức ).
O: Orderer Node: Nếu như trong Publuc Blockchain, toàn bộ những node của mạng đều tmê mẩn gia vào quy trình đồng thuận, thì sống Hyperledger Fabric chỉ bao gồm Orderer tmê man gia vào quá trình đó.
P: Peer, là điểm shop giữa các member vào tổ chức khớp ứng cùng với kênh, hồ hết hành vi của người tiêu dùng gần như yêu cầu trải qua peer.
S: Smart Contract (Chaincode) được cài đặt bỏ lên kênh, định nghĩa rõ các struct, những hành vi nhưng mà người tiêu dùng hoàn toàn có thể tiến hành để tương tác trạng thái của struct được giữ trong sổ dòng. lấy ví dụ 1 struct nhỏng sau
type Car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ chiếc ), tàng trữ tâm lý của các đối tượng người sử dụng. ví dụ như :
car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượng car01 sẽ tiến hành lưu vào sổ cái dưới dạng key-value, key được khẳng định thế nào thì tùy thuộc vào bạn code Smart Contract, còn value là quý giá của car01 được mang đến dạng <>byte. Đương nhiên là giải pháp lưu trữ của sổ mẫu L là tàng trữ theo phong cách blockchain, còn tồn tại thêm bước mã hóa tốt xử lý gì mang đến cặp quý hiếm này sẽ không thì mình chần chờ, tính năng này yêu cầu hỏi IBM

Hình bên trên là sơ khởi của một mạng N. Gồm có một Orderer Node O4, trên đó chạy một các dịch vụ mang tên là Ordering Services, tổ chức triển khai R4 nắm giữ quyền quản trị mạng N và báo cáo này được giữ vào cấu hình mạng NC4, node CA4 bao gồm nhiệm vụ thi công identity cho tất cả những người sử dụng hoặc peer hoặc application đến từ tổ chức R4.
bởi vậy, đùng một phân phát chả hiểu trường đoản cú đâu ra lộ diện R4 cung ứng một Orderer O4 mang lại mạng, những hành động trong tương lai nlỗi thêm tổ chức triển khai vào vào mạng, thêm kênh, thiết đặt chaincode cho kênh, khởi tạo ra chaincode, từng trải xúc tiến chaincode,... phần đa cần trải qua Orderer O4 này ( các bạn sẽ thấy rõ vấn đề đó làm việc các bài xích sau ). Và trong Hyperledger Fabric, tất cả những hành vi bên trên đa số là transaction ( giao dịch thanh toán ).
Cách 2. Thêm một đội chức quản trị

NC4 lúc đầu được thông số kỹ thuật để chỉ được cho phép người dùng R4 tất cả quyền quản ngại trị trên mạng. Trong đoạn này, mình đang thêm một đội chức R1 vào mạng cùng chất nhận được R1 tất cả quyền quản trị nlỗi R4:
Tổ chức R4 update cấu hình mạng NC4 để thêm tổ chức triển khai R1 có tác dụng quản ngại trị viên. Sau thời điểm đó, R1 cùng R4 bao gồm quyền tương đương so với cấu hình mạng.
Ta thấy CA1 cũng khá được sản xuất, CA1 vẫn cung ứng indentity cho những người dùng của tổ chức R1. Sau thời điểm này khắp cơ thể cần sử dụng từ bỏ R1 với người tiêu dùng từ bỏ R4 đều phải có quyền quản ngại trị mạng.
Mặc dù O4 đang hoạt động bên trên một hạ tầng như thế nào đó của R4 dẫu vậy R1 cũng đều có quyền nlỗi R4 đối với O4.
Mình đang trình bày về Ordering service ngơi nghỉ phần nhiều bài bác sau, bây chừ bạn chỉ cần hiểu O4 như một điểm quản lí trị toàn bộ các buổi giao lưu của phần đông thành phần nằm trong mạng.
Cách 3. Định nghĩa 1 consortium
Lúc Này mạng hoàn toàn có thể được làm chủ vì R1 cùng R4, cùng bao gồm cực kỳ không nhiều hành động nhưng mà hoàn toàn có thể tiến hành được so với mạng. Để có thể mapping những vận động marketing vào mạng thì điều thứ nhất bọn họ nên có tác dụng là quan niệm một consortium ( nhóm - tập đoàn lớn ). Từ này có nghĩa Black là 1 trong đội các tổ chực thuộc phía bên trong một vận động marketing, ví dụ Tổ chức sản xuất xe hơi, Tổ chức phân phối ô tô được tiếp tế vị Tổ chức sản xuất mang lại tay Người tiêu dùng.

Một quản lí trị viên mạng (R1 hoặc R4) quan niệm một consortium X1 gồm cất hai member, R1 và R2. Định nghĩa của consortium này được lưu trữ trong thông số kỹ thuật mạng NC4 và sẽ tiến hành thực hiện sinh sống giai đoạn phát triển mạng tiếp sau. CA2 là Cơ quan cung cấp identity cho những người dùng, node, application đến từ tổ chức R2 này. Một consortium bao gồm số lượng tổ chức triển khai tùy ý, ở chỗ này mình áp dụng ngôi trường hợp đơn giản dễ dàng tốt nhất là 2.
Cách 4. Tạo một channel cho một consortium
Kênh là một phương tiện đi lại truyền thông tin nhưng mà trải qua đó các thành viên của một consortium rất có thể giao tiếp với nhau. cũng có thể có nhiều consortium với nhiều kênh trong một mạng, nhưng mà từng consortium chỉ bao gồm một kênh.
Xem thêm:

Một kênh C1 đã có được tạo nên consortium X1. Cấu hình của kênh C1 được lưu giữ trong thông số kỹ thuật kênh CC1, bóc tách biệt trọn vẹn với cấu hình mạng NC4. CC1 được thống trị vì R1 với R2, 2 tổ chức này có quyền ngang nhau đối với C1. R4 không có quyền gì vào CC1.
Kênh C1 cung ứng một chính sách liên lạc riêng cho các tổ chức triển khai trong X1. Chúng ta rất có thể thấy kênh C1 bắt đầu chỉ được kết nối với Ordering O4. Trong bước tiếp sau, họ đã liên kết các yếu tố như Application và Peer.
Mặc cho dù kênh C1 là một phần của mạng N, dẫu vậy nó bóc tách biệt trọn vẹn cùng với N. Cũng để ý rằng tổ chức R4 không bên trong kênh này - kênh này chỉ giành riêng cho giải pháp xử lý thanh toán giao dịch giữa R1 với R2. Trong bước trước, chúng ta vẫn thấy bí quyết R4 đã cấp quyền quản lí trị mạng mang đến R1, rồi R1 tạo thành một consortium. Hiểu ngầm rằng R4 đã và đang cấp quyền mang đến R1 tạo kênh! Trong sơ thiết bị này, rất có thể là tổ chức R1 hoặc R4 vẫn tạo ra kênh C1. Một đợt tiếp nhữa, xem xét rằng một kênh có thể bao gồm ngẫu nhiên số lượng tổ chức làm sao được kết nối cùng với nó - bản thân đem ví dụ dễ dàng và đơn giản tuyệt nhất là 2.
Cấu hình kênh CC1 đựng những qui định về quyền nhưng mà R1 và R2 tất cả trên kênh C1 - cùng nhỏng bọn họ thấy R4 không có quyền gì trong kênh này cả. R4 chỉ rất có thể tác động với C1 ví như chúng nhận thêm vày R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng thiết yếu từ thêm mình vào kênh C1 - nó phải và chỉ được tiến hành vởi R1 với R2.
Đến phía trên ta rất có thể thấy rằng tính riêng rẽ bốn của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric cực kỳ bạo gan về vấn đề này, vì chưng nó cho phép những tổ chức chia sẻ hạ tầng nhưng lại giữ lại được sự riêng rẽ tứ của chính mình.
Mọi update mang đến cấu hình mạng NC4 trường đoản cú thời đặc điểm này trsống đi vẫn không có ảnh hưởng trực kế tiếp thông số kỹ thuật kênh CC1; ví dụ: giả dụ tư tưởng consortium X1 bị biến hóa, nó sẽ không ảnh hưởng mang đến những thành viên của kênh C1. Do đó, những kênh vô cùng có lợi vày chúng cho phép liên lạc riêng rẽ giữa các tổ chức cấu thành kênh. bên cạnh đó, dữ liệu trong một kênh được biện pháp ly trọn vẹn với phần còn sót lại của mạng, cũng tương tự những kênh tiếp thị khác.
Cách 5. Peer và Ledger
Bây tiếng, ta sẽ coi bí quyết áp dụng kênh để kết nối các tổ chức triển khai lại với nhau.

Một peer P1 sẽ tyêu thích gia kênh C1. Mỗi Kênh đã chỉ gồm một sổ loại duy nhất, từng Peer đang tàng trữ 1 bạn dạng sao của sổ cái này để người tiêu dùng từ tổ chức tương xứng truy vấn. Chẳng hạn như P1 của tổ chức R1 lưu trữ trữ phiên bản sao của sổ mẫu L1 nhằm người tiêu dùng tự tổ chức triển khai R1 truy vấn.
L1 được physically hosted trên peer P1, mà lại logically hosted trên kênh C1
Hiện nay, P1 với O4 rất có thể tiếp xúc cùng nhau thông qua kênh C1.
Mọi nguyên tố tự người tiêu dùng mang đến peer phần lớn cần có 1 identity. Vì cầm P1 là cũng có một identity (đẳng cấp X.509 - chưa đề nghị quan tâm X.509 là gì đâu ) do CA1 cung cấp, khẳng định P1 nằm trong tổ chức R1.
lúc P1 được start, nó rất có thể tsay đắm gia kênh C1 bằng phương pháp gửi đề xuất tmê mệt gia O4. khi O4 nhận ra trải đời tsi gia này, nó sử dụng cấu hình kênh CC1 để khẳng định quyền của P1 trên kênh này. ví dụ như, CC1 khẳng định coi P1 rất có thể hiểu cùng / hoặc ghi báo cáo vào sổ mẫu L1 hay là không.
Cách 6. Application cùng Smart Contract ( Chaincode)
Bây giờ kênh C1 gồm một sổ cái trên đó, chúng ta cũng có thể ban đầu kết nối các application nhằm áp dụng một nghiệp vụ marketing được có mang trong smart contract.

Một smart contract S5 đã có thiết lập bỏ trên P1. Application A1 của tổ chức triển khai R1 có thể áp dụng S5 để truy cập vào sổ dòng L1 trải qua peer P1. Trong kênh hôm nay gồm A1, P1 và O4.
Cũng y hệt như những peer, orderer cùng người dùng, một application sẽ có được một identity được links cùng với tổ chức khớp ứng. Chẳng hạn A1 có một identity được CA1 hỗ trợ nhằm xác định A1 thuộc về R1.
Bây tiếng có vẻ như nlỗi A1 rất có thể truy cập vào sổ chiếc L1 thẳng thông qua P1, nhưng lại trên thực tiễn, toàn bộ quyền truy cập được quản lý trải qua Smart Contract S5. Hiểu đơn giản và dễ dàng là S5 định nghĩa tất cả các use case truy cập vào sổ mẫu L1; S5 cung ứng một tập hợp các biện pháp khẳng định cụ thể nhưng mà Từ đó sổ dòng L1 có thể được truy nã vấn hoặc update hoặc update ra làm sao, bởi vì ai. Nói Kết luận, áp dụng khách A1 đề nghị thông qua Smart Contract S5 để tương tác cùng với sổ chiếc L1!
Smart Contract có thể được sinh sản vị các nhà cách tân và phát triển vận dụng trong mỗi tổ chức nhằm tiến hành quy trình kinh doanh được chia sẻ bởi vì những thành viên của consortium.
Một kênh hoàn toàn có thể có nhiều Smart Contract.
Cách 6.1 Cài một smart contract
Sau Lúc smart contract S5 được code xong xuôi, cai quản trị viên vào tổ chức R1 bắt buộc thiết lập nó vào peer P1. Đây là một vận động đối chọi giản; kế tiếp, P1 có thể thấy lô ghích thực hiện của S5 - code nhưng mà nó sử dụng nhằm truy cập vào sổ chiếc L1.
lúc một đội nhóm chức có khá nhiều peer bên trên một kênh, họ rất có thể chọn các peer nhưng mà người ta có nhu cầu nhằm thiết lập smart contract; họ không cần thiết phải setup một smart contarct bên trên hầu hết peer.
Cách 6.2 Khởi tạo một smart contract
Để các yếu tố không giống được liên kết cùng với kênh C1 biết về smart contract vừa mới được sở hữu đặt; ta phải khởi tạo nó bên trên kênh C1. Trong ví dụ này, chỉ có một peer P1, một cai quản trị viên vào tổ chức triển khai R1 phải khởi tạo S5 trên kênh C1 bằng cách thực hiện P1. Sau Khi khởi chế tác, hồ hết yếu tắc trên kênh C1 gần như biết về sự việc mãi mãi của S5; điều đó có nghĩa là hiện nay S5 có thể được Hotline bởi vận dụng khách A1.
Lưu ý rằng tuy vậy phần đông nhân tố trên kênh hiện tại rất có thể truy vấn S5, tuy thế chúng quan yếu thấy xúc tích và ngắn gọn lịch trình của S5. Vấn đề này vẫn được giữ riêng tư so với đa số peer vẫn setup nó; vào ví dụ này tức là P1. Về phương diện khái niệm, vấn đề này tức là chỉ tất cả interface của smart contract được khởi chế tác. Và, thiết đặt một smart contract phát âm đơn giản là nó được physically hosted bên trên một peer, trong những khi bài toán khởi chế tạo smart contract gọi là nó được logically hosted trên kênh.
Endorsement policy ( chế độ xác nhận )
Phần đặc biệt độc nhất vô nhị của thông báo đề nghị đượctại thời gian khởi sản xuất là một trong cơ chế xác nhận. Nó biểu hiện những tổ chức triển khai nào bắt buộc phê chuyên chú những giao dịch thanh toán trước lúc chúng được các tổ chức không giống đồng ý vào phiên bản sao của sổ dòng. ĐỊnh nghĩa hình dáng nlỗi R1 AND R2 hoặc R1 OR R2.
Invoking Smart Contract ( Gọi vừa lòng đồng sáng dạ )
khi một smart contract được sở hữu bỏ lên một peer và được khởi sản xuất trên một kênh, nó có thể được Gọi vị một application. Các application thực hiện vấn đề đó bằng phương pháp gửi lời khuyên thanh toán cho những peer thuộc sở hữu của những tổ chức triển khai được hướng dẫn và chỉ định do chế độ chứng thực. Đề xuất giao dịch vào vai trò là tđắm đuối số nguồn vào mang lại smart contract ( thương hiệu function, tsay mê số đầu vào của function đó ), áp dụng nó để tạo thành phản hồi giao dịch thanh toán được chứng thực, được trả lại bởi vì peer mang lại application. Mình sẽ trình bày về transaction flow vào bài sau.
Cách 7. Network completed

Việc thêm những peer P2 cùng A2, CA2, thiết đặt Smart contract cho P2 tương tự như so với R1.
Link Tđắm đuối Khảo
https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html
Chuyên mục: Đầu tư tài chính