5 cara mudah install jaringan blockchain dengan hyperledger fabric & composer

  -  

1. Giới thiệu về Hyperledger Fabric

Nhỏng mình đã giới thiệu làm việc Bài 1, Public Blockchain là một mạng mà ai cũng có thể tđắm say gia, can hệ cùng với mạng với truy vấn vấn dữ liệu, vấn đề này khiến cho một số trong những Tổ chức ko hài lòng bởi bọn họ không thích công khai những số liệu hoạt động vui chơi của mình. Mặt không giống, đa số các tổ chức triển khai chỉ cần đặc tính không thể sửa đổi của Blockchain, hay ví như một cụm những Tổ chức thuộc xây dựng một mạng thì bọn họ chỉ việc "tính phân tán" vào phạm vi những Tổ chức đấy với với từng một mạng thì lại sở hữu một các bước nhiệm vụ không giống nhau nên việc áp dụng Public Blockchain là ko cần thiết và thiếu thốn riêng tứ.

Bạn đang xem: 5 cara mudah install jaringan blockchain dengan hyperledger fabric & composer

Trong Lúc những mạng Public Blockchain vẫn dần dần điều chỉnh nhằm tương xứng rộng cùng với kinh nghiệm riêng rẽ tư của Thị trường thì Hyperledger Fabric được ra đời để triển khai câu hỏi đấy.

Hyperedger Fabric là một trong những vào 5 Framework về Blockchain bên trong chiến lược Hyperledger Umbrella của Linux Foundation có : Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth, Hyperledger Burror. Điều nhất là Hyperledger Fabric được contributed bởi vì ông lớn IBM.

Hyperledger Fabric tất cả modularity ( tính tế bào đun) không hề nhỏ cho nên nó chất nhận được những Doanh nghiệp dễ dãi plug và play để kiến thiết một vận dụng Private Blockchain tương xứng các yên cầu nghiệp vụ của mình .

Phiên phiên bản mới nhất của Hyperledger Fabric trên thời gian viết bài này là 2.0.0-altrộn.

Đến phía trên, đông đảo fan hoàn toàn có thể hiểu rõ rằng nói Hyperledger Fabric là 1 mạng Private Blockchain cũng giống, hay là một Framework nhằm xây đắp Private Blockchain cũng đúng.

2. Kiến trúc của một mạng Hyperledger Fabric.

2.1 Kiến trúc dễ dàng và đơ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 hợp các tổ chức triển khai tất cả vai trò nhất định trong và một quy trình marketing. lấy một ví dụ, vào một channel về mua bán xe cộ tương đối sẽ bao gồm bao gồm 2 tổ chức là : Nhà chế tạo xe cộ hơi, Nhà phân pân hận xe cộ hơi.

CC: Channel Configuration ( Cấu hình của kênh ).

R: Organization ( Tổ chức ).

O: Orderer Node: Nếu nhỏng vào Publuc Blockchain, tất cả các node của mạng phần đa tham mê gia vào quy trình đồng thuận, thì sống Hyperledger Fabric chỉ gồm Orderer tham gia vào quá trình đó.

P: Peer, là điểm tác động giữa những member trong tổ chức tương ứng cùng với kênh, đông đảo hành vi của người tiêu dùng những đề xuất trải qua peer.

S: Smart Contract (Chaincode) được sở hữu đặt lên kênh, định nghĩa rõ các struct, những hành vi mà lại người tiêu dùng rất có thể tiến hành để can hệ trạng thái của struct được lưu giữ vào sổ mẫu. Ví dụ 1 struct nhỏng sau

type Car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ cái ), tàng trữ trạng thái của các đối tượng người dùng. lấy ví dụ như :

car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượng car01 sẽ tiến hành giữ vào sổ cái bên dưới dạng key-value, key được xác định như thế nào thì tùy ở trong vào tín đồ code Smart Contract, còn value là quý hiếm của car01 được mang lại dạng <>byte. Đương nhiên là giải pháp tàng trữ của sổ mẫu L là lưu trữ theo phong cách blockchain, còn có thêm bước mã hóa hay xử lý gì mang đến cặp quý hiếm này sẽ không thì mình lần chần, cái này cần hỏi IBM

*

Hình trên là sơ khởi của một mạng N. Gồm bao gồm một Orderer Node O4, trên đó chạy một hình thức mang tên là Ordering Services, tổ chức R4 sở hữu quyền quản lí trị mạng N với ban bố này được lưu trong cấu hình mạng NC4, node CA4 có nhiệm vụ phát hành identity cho tất cả những người cần sử dụng hoặc peer hoặc application tới từ tổ chức R4.

bởi thế, đùng một phát chả đọc tự đâu ra xuất hiện thêm R4 cung ứng một Orderer O4 đến mạng, đầy đủ hành động về sau nlỗi thêm tổ chức vào vào mạng, thêm kênh, thiết lập chaincode đến kênh, khởi chế tạo ra chaincode, đề nghị tiến hành chaincode,... những phải trải qua Orderer O4 này ( các bạn sẽ thấy rõ vấn đề đó nghỉ ngơi các bài sau ). Và vào Hyperledger Fabric, tất cả các hành động trên đều là transaction ( giao dịch thanh toán ).

Cách 2. Thêm một đội nhóm chức quản trị

*

NC4 ban đầu được cấu hình nhằm chỉ có thể chấp nhận được người tiêu dùng R4 có quyền quản lí trị trên mạng. Trong công đoạn này, bản thân đang thêm một đội chức R1 vào mạng và cho phép R1 bao gồm quyền cai quản trị nlỗi R4:

Tổ chức R4 update thông số kỹ thuật mạng NC4 để thêm tổ chức triển khai R1 làm quản ngại trị viên. Sau thời đặc điểm này, R1 và R4 có quyền tương đương đối với thông số kỹ thuật mạng.

Ta thấy CA1 cũng rất được thêm vào, CA1 vẫn cung ứng indentity cho tất cả những người cần sử dụng của tổ chức triển khai R1. Sau thời điểm này cả người cần sử dụng trường đoản cú R1 và người tiêu dùng từ R4 đều có quyền quản trị mạng.

Mặc mặc dù O4 đang hoạt động bên trên một cơ sở hạ tầng làm sao đó của R4 tuy thế R1 cũng có thể có quyền như R4 so với O4.

Mình sẽ trình bày về Ordering service ở phần đa bài xích sau, bây giờ các bạn chỉ việc hiểu O4 như một điểm quản lí trị tất cả các hoạt động vui chơi của số đông thành bên trong mạng.

Bước 3. Định nghĩa 1 consortium

Bây Giờ mạng có thể được thống trị bởi vì R1 với R4, cùng gồm siêu ít hành động cơ mà có thể tiến hành được so với mạng. Để hoàn toàn có thể mapping các hoạt động sale vào mạng thì điều thứ nhất họ bắt buộc làm cho là quan niệm một consortium ( team - tập đoàn ). Từ này có nghĩa Đen là 1 nhóm những tổ chực thuộc bên trong một hoạt động sale, ví dụ Tổ chức sản xuất ô tô, Tổ chức phân phối ô tô được sản xuất do Tổ chức sản xuất cho tay Người tiêu dùng.

*

Một quản ngại trị viên mạng (R1 hoặc R4) khái niệm một consortium X1 gồm chứa nhị member, R1 cùng R2. Định nghĩa của consortium này được lưu trữ trong thông số kỹ thuật mạng NC4 cùng sẽ tiến hành thực hiện làm việc quy trình tiến độ phát triển mạng tiếp sau. CA2 là Cơ quan cấp cho identity cho tất cả những người dùng, node, application tới từ tổ chức triển khai R2 này. Một consortium bao gồm con số tổ chức triển khai tùy ý, tại đây bản thân áp dụng trường hợp đơn giản nhất là 2.

Cách 4. Tạo một channel cho một consortium

Kênh là 1 phương tiện đi lại media tin mà trải qua đó các member của một consortium hoàn toàn có thể giao tiếp cùng nhau. cũng có thể có rất nhiều consortium và nhiều kênh vào một mạng, nhưng lại mỗi consortium chỉ tất cả một kênh.

Xem thêm: Cách Quản Lý Tiền Trong Kinh Doanh, Cách Quản Lý Tiền Trong Bán Hàng Và Kinh Doanh

*

Một kênh C1 đã được làm cho consortium X1. Cấu hình của kênh C1 được giữ trong cấu hình kênh CC1, bóc tách biệt hoàn toàn cùng với cấu hình mạng NC4. CC1 được làm chủ vày R1 và R2, 2 tổ chức triển khai này có quyền ngang bằng so với C1. R4 không tồn tại quyền gì vào CC1.

Kênh C1 cung cấp một chính sách liên lạc riêng rẽ cho các tổ chức trong X1. Chúng ta rất có thể thấy kênh C1 new chỉ được kết nối cùng với Ordering O4. Trong bước tiếp theo, họ sẽ kết nối những nguyên tố như Application và Peer.

Mặc dù kênh Cmột là một trong những phần của mạng N, tuy nhiên nó tách biệt hoàn toàn với N. Cũng xem xét rằng tổ chức R4 ko bên trong kênh này - kênh này chỉ dành riêng cho giải pháp xử lý giao dịch giữa R1 và R2. Trong bước trước, bọn họ đang thấy giải pháp R4 vẫn cấp quyền quản trị mạng mang đến R1, rồi R1 tạo nên một consortium. Hiểu ngầm rằng R4 đã và đang cấp quyền đến R1 chế tạo ra kênh! Trong sơ thiết bị này, hoàn toàn có thể là tổ chức R1 hoặc R4 đang tạo ra kênh C1. Một đợt tiếp nhữa, để ý rằng một kênh có thể tất cả ngẫu nhiên con số tổ chức triển khai làm sao được liên kết cùng với nó - mình đem ví dụ đơn giản dễ dàng độc nhất là 2.

Cấu hình kênh CC1 cất những vẻ ngoài về quyền nhưng R1 và R2 có trên kênh C1 - với như bọn họ thấy R4 không có quyền gì trong kênh này cả. R4 chỉ hoàn toàn có thể ảnh hưởng cùng với C1 trường hợp chúng có thêm vị R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng cấp thiết từ thêm bản thân vào kênh C1 - nó cần còn chỉ được triển khai vởi R1 cùng R2.

Đến trên đây ta hoàn toàn có thể thấy rằng tính riêng biệt bốn của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric hết sức mạnh dạn về sự việc này, vì chưng nó cho phép những tổ chức triển khai chia sẻ hạ tầng tuy thế lại giữ được sự riêng tứ của chính bản thân mình.

Mọi cập nhật mang đến cấu hình mạng NC4 trường đoản cú thời đặc điểm này trsinh sống đi sẽ không có tác động trực sau đó thông số kỹ thuật kênh CC1; ví dụ: trường hợp tư tưởng consortium X1 bị biến đổi, nó sẽ không còn ảnh hưởng đến những member của kênh C1. Do đó, các kênh khôn cùng có lợi vày bọn chúng được cho phép liên hệ riêng thân những tổ chức cấu thành kênh. Nhiều hơn, dữ liệu vào một kênh được giải 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ự các kênh tiếp thị khác.

Cách 5. Peer cùng Ledger

Bây tiếng, ta đang coi phương pháp thực hiện kênh để liên kết những tổ chức triển khai lại cùng nhau.

*

Một peer P1 đang tđê mê gia kênh C1. Mỗi Kênh đã chỉ gồm một sổ mẫu nhất, từng Peer đang tàng trữ 1 bạn dạng sao của sổ cái này để người dùng từ tổ chức tương ứng truy cập. Chẳng hạn nhỏng P1 của tổ chức R1 lưu trữ trữ bạn dạng sao của sổ dòng L1 nhằm người tiêu dùng tự tổ chức R1 truy cập.

L1 được physically hosted bên trên peer P1, tuy vậy logically hosted bên trên kênh C1

Trong thời điểm này, P1 với O4 hoàn toàn có thể giao tiếp với nhau trải qua kênh C1.

Mọi yếu tắc từ người dùng mang lại peer số đông cần phải có 1 identity. Vì cố kỉnh P1 là cũng đều có một identity (kiểu X.509 - chưa đề xuất quyên tâm X.509 là gì đâu ) bởi vì CA1 cấp cho, khẳng định P1 ở trong tổ chức R1.

Khi P1 được start, nó có thể tham gia kênh C1 bằng cách gửi đòi hỏi tđê mê gia O4. khi O4 nhận ra đòi hỏi tđê mê gia này, nó sử dụng cấu hình kênh CC1 để xác định quyền của P1 bên trên kênh này. lấy ví dụ, CC1 xác định xem P1 rất có thể gọi cùng / hoặc ghi ban bố vào sổ mẫu L1 hay không.

Cách 6. Application và Smart Contract ( Chaincode)

Bây tiếng kênh C1 gồm một sổ chiếc bên trên kia, bạn có thể bước đầu kết nối những application để sử dụng một nhiệm vụ marketing được có mang trong smart contract.

*

Một smart contract S5 đã làm được sở hữu bỏ lên P1. Application A1 của tổ chức triển khai R1 có thể sử dụng S5 để truy vấn vào sổ cái L1 trải qua peer P1. Trong kênh lúc này tất cả A1, P1 cùng O4.

Cũng y hệt như các peer, orderer với người dùng, một application sẽ có được một identity được link với tổ chức triển khai khớp ứng. Chẳng hạn A1 bao gồm một identity được CA1 cung cấp để khẳng định A1 nằm trong về R1.

Bây giờ đồng hồ có vẻ như A1 hoàn toàn có thể truy cập vào sổ chiếc L1 thẳng thông qua P1, dẫu vậy bên trên thực tiễn, tất cả quyền truy vấn được thống trị trải qua Smart Contract S5. Hiểu đơn giản và dễ dàng là S5 quan niệm tất cả những use case truy vấn vào sổ mẫu L1; S5 cung cấp một tập phù hợp những bí quyết xác định cụ thể cơ mà Từ đó sổ dòng L1 hoàn toàn có thể được tầm nã vấn hoặc cập nhật hoặc update thế nào, bởi ai. Nói Kết luận, ứng dụng khách hàng A1 nên trải qua Smart Contract S5 để liên quan cùng với sổ chiếc L1!

Smart Contract có thể được chế tạo ra vày các nhà cải cách và phát triển vận dụng trong những tổ chức nhằm thực hiện tiến trình kinh doanh được chia sẻ bởi các member của consortium.

Một kênh 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, quản lí trị viên vào tổ chức triển khai R1 đề xuất thiết đặt nó vào peer P1. Đây là 1 trong những vận động solo giản; kế tiếp, P1 có thể thấy logic thực hiện của S5 - code nhưng nó thực hiện nhằm truy vấn vào sổ dòng L1.

lúc một tổ chức có rất nhiều peer trên một kênh, bọn họ rất có thể chọn các peer mà họ có nhu cầu nhằm cài đặt smart contract; bọn họ không cần phải thiết lập một smart contarct trên mọi peer.

Bước 6.2 Khởi chế tạo một smart contract

Để những nhân tố không giống được liên kết với kênh C1 biết về smart contract vừa mới được download đặt; ta phải tạo nó trên kênh C1. Trong ví dụ này, chỉ bao gồm một peer P1, một quản trị viên trong tổ chức triển khai R1 phải tạo S5 trên kênh C1 bằng cách áp dụng P1. Sau khi khởi chế tạo, mọi nguyên tố bên trên kênh C1 phần đông biết về sự việc lâu dài của S5; điều đó tức là bây chừ S5 rất có thể được call vày vận dụng khách A1.

Lưu ý rằng tuy vậy phần lớn yếu tắc trên kênh hiện nay rất có thể truy cập S5, tuy nhiên chúng bắt buộc 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ữ lại riêng biệt bốn so với hầu hết peer đang cài đặt nó; vào ví dụ này Có nghĩa là P1. Về khía cạnh tư tưởng, vấn đề đó Tức là chỉ gồm interface của smart contract được khởi sinh sản. Và, setup một smart contract đọc dễ dàng là nó được physically hosted trên một peer, trong khi câu hỏi khởi tạo nên smart contract hiểu là nó được logically hosted bên trên kênh.

Endorsement policy ( chế độ xác nhận )

Phần quan trọng tốt nhất của biết tin đề xuất đượctại thời điểm khởi chế tác là một trong cơ chế xác nhận. Nó diễn tả các tổ chức triển khai như thế nào nên phê chuyên chú những giao dịch trước lúc bọn chúng được những tổ chức triển khai khác đồng ý vào phiên bản sao của sổ dòng. ĐỊnh nghĩa mẫu mã như R1 AND R2 hoặc R1 OR R2.

Invoking Smart Contract ( Call hòa hợp đồng hợp lý )

Khi một smart contract được sở hữu đặt trên một peer và được khởi tạo nên bên trên một kênh, nó hoàn toàn có thể được call vày một application. Các application triển khai vấn đề đó bằng phương pháp gửi đề xuất thanh toán giao dịch cho các peer thuộc về của những tổ chức triển khai được chỉ định vì chế độ xác thực. Đề xuất giao dịch nhập vai trò là tđắm say số nguồn vào cho smart contract ( thương hiệu function, tyêu thích số đầu vào của function đó ), sử dụng nó để tạo thành ý kiến thanh toán giao dịch được chứng thực, được trả lại vị peer đến application. Mình vẫn trình bày về transaction flow vào bài bác sau.

Xem thêm: Có Thể Xem Báo Cáo Tài Chính Của Các Công Ty Ở Đâu, Báo Cáo Tài Chính

Cách 7. Network completed

*

Việc thêm các peer P2 và A2, CA2, thiết đặt Smart contract cho P2 tương tự như nlỗi so với R1.

Link Tyêu thích Khảo

https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html