Hướng dẫn sử dụng Hyperledger Fabric: Hướng dẫn bắt đầu

Chào mừng tới Hướng dẫn về vải Hyperledger. 

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tạo ứng dụng Hyperledger đầu tiên của bạn và những thứ quan trọng khác nếu bạn là một trong những nhà phát triển được đầu tư sâu vào blockchain và muốn bắt đầu với Hyperledger Fabric.

Bất kỳ khung cấp doanh nghiệp nào cũng yêu cầu chuyên môn để hoạt động. Nếu bạn là một người mới, bạn sẽ thấy mình phải đấu tranh rất nhiều để sửa chữa những thứ nhỏ nhặt. Đó là lý do tại sao điều quan trọng là phải bắt đầu sớm và thực hành theo cách của riêng bạn.

Nhưng tại sao Vải Hyperledger và không phải bất kỳ khuôn khổ blockchain doanh nghiệp khác?

Lý do là Hyperledger Fabric là một khuôn khổ chuỗi khối doanh nghiệp hàng đầu cung cấp công nghệ sổ cái phân tán (DLT) được cấp phép tuyệt vời. Nó có một số tính năng tuyệt vời khiến nó trở thành sự lựa chọn lý tưởng cho một doanh nghiệp. 

Bạn có thể đánh giá mức độ phổ biến của nó bằng cách kiểm tra các thành viên của nó, bao gồm CISCO, IBM, Intel, SAP, Accenture và các thành viên khác.

Vải Hyperledger là gì?

Hyperledger Fabric là một khung công tác cấp doanh nghiệp mã nguồn mở. Nó dựa trên công nghệ sổ cái phân tán được cấp phép để cung cấp các ứng dụng và giải pháp rất cần thiết. Linux Foundation đang thực hiện một số dự án đa dạng và Hyperledger Fabric là một trong số đó.

Vì nó là mã nguồn mở nên bất kỳ ai cũng có thể tham gia dự án và đóng góp cho nó. Hiện tại, 35 tổ chức đang làm việc cùng nhau để biến Hyperledger Fabric trở thành khuôn khổ doanh nghiệp tốt nhất hiện có.

Về cốt lõi, Hyperledger Fabric có thể định cấu hình và theo mô-đun. Điều này có nghĩa là các doanh nghiệp có thể làm việc liên tục bằng cách sử dụng khuôn khổ. Tất cả những tính năng mong muốn này làm cho Hyperledger Fabric trở thành một sự lựa chọn tuyệt vời! Tại thời điểm viết bài, bạn có thể dùng thử Hyperledger Fabric v1.4, đi kèm với các tính năng và chức năng mới.

Chức năng của vải Hyperledger

Hyperledger Fabric có năm tính năng chính. Chúng như sau

  • Quản lý danh tính: Quản lý danh tính là rất quan trọng đối với bất kỳ mạng được cấp phép nào. Đó là lý do tại sao quản lý danh tính là một trong những tính năng quan trọng trong kết cấu Hyperledger. Bằng cách cấp cho quản trị viên thiết lập quản lý danh tính phù hợp, doanh nghiệp có thể đảm bảo rằng họ sử dụng nhiều lớp quyền.
  • Xử lý hiệu quả: Hyperledger Fabric hiệu quả. Điều này là do các vai trò mạng được chỉ định dưới dạng loại nút. Hiệu quả cũng được cung cấp bằng cách cho phép thực hiện giao dịch tách biệt với cam kết và đặt hàng.
  • Thiết kế mô-đun: Hyperledger Fabric sử dụng thiết kế mô-đun, có nghĩa là có thể dễ dàng tích hợp các dịch vụ hoặc hệ thống khác vào đó. Điều này cũng có nghĩa là bạn có thể chỉ định thuật toán đồng thuận, danh tính, v.v.. 
  • Quyền riêng tư và bảo mật: Hyperledger Fabric cũng cung cấp tính bảo mật và sự riêng tư thích hợp, điều này rất quan trọng đối với các doanh nghiệp. Họ cung cấp các kênh dữ liệu thích hợp để thông tin không bị rò rỉ và tính bảo mật có thể được duy trì bằng bất kỳ giá nào.
  • Chức năng chaincode: Hyperledger Fabric cung cấp chức năng chaincode, cho phép logic chỉ được gọi khi một loại giao dịch cụ thể được gọi. 

Các tính năng chính khác của vải Hyperledger bao gồm mã chất lượng, mã nguồn mở, khả năng mở rộng và hiệu quả tuyệt vời cũng như việc sử dụng trong toàn ngành. 

Hướng dẫn về vải Hyperledger


Trước khi bắt đầu phát triển một ứng dụng, tốt hơn hết là bạn nên hiểu kiến ​​trúc hệ thống của Hyperledger Fabric. Bằng cách đó, chúng tôi có thể hiểu cách nó hoạt động trong nội bộ. Kiến thức này sau đó có thể được sử dụng để phát triển ứng dụng Hyperledger Fabric đầu tiên của bạn. 

Kiến Trúc Hệ Thống

Về cốt lõi, chúng ta có các nút. Các nút giao tiếp với nhau và tạo thành một mạng. Tuy nhiên, có những chương trình được chạy bởi chính blockchain. Chúng là chaincode. Chaincode chịu trách nhiệm giữ sổ cái và dữ liệu trạng thái, đồng thời đảm nhận việc thực hiện giao dịch. 

Trong Hyperledger Fabric, chaincode được chú trọng nhiều nhất vì các giao dịch được thực hiện trên nó dưới dạng hoạt động. Mặt khác, các giao dịch cần phải được xác nhận bởi sự chứng thực. Chỉ các giao dịch được chứng thực mới có thể được cam kết.

Giao dịch

Các giao dịch trên Hyperledger Fabric có thể có hai loại:

  • Triển khai các giao dịch: Loại giao dịch này chịu trách nhiệm tạo chaincode mới với tham số là một chương trình. Sau khi hoàn tất, mã chaincode được cho là đã được “cài đặt” trên blockchain.
  • Gọi các giao dịch: Các giao dịch gọi là các giao dịch được thực hiện với ngữ cảnh của các lần triển khai chaincode trước đó.

Cấu trúc dữ liệu chuỗi khối

Cấu trúc dữ liệu cơ bản được sử dụng trong blockchain là kho lưu trữ giá trị-khóa (KVS). Các khóa chủ yếu là tên và giá trị là các đốm màu. Chaincodes có thể thao tác cấu trúc dữ liệu với sự trợ giúp của hai thao tác KVS sau.

  • đặt
  • được

Toàn bộ cấu trúc dữ liệu được xem như một trạng thái.

Sổ cái

Sổ cái là chuỗi các thay đổi trạng thái thành công và cả những lần thử không thành công. Chúng được sắp xếp để có thể tham khảo sau này. Ngoài ra, chúng là các khối giao dịch hashchain được sắp xếp theo thứ tự. Sổ cái chứa các khối theo thứ tự, đổi lại chứa mảng giao dịch có thứ tự.

Điểm giao

Các nút có thể là bất kỳ thực thể giao tiếp nào trong mạng.

Khách hàng

Khách hàng là người có thể đại diện cho người dùng cuối.

Ngang nhau

Peer xử lý trạng thái của sổ cái và đảm bảo rằng mạng hoạt động tối ưu. Các đồng nghiệp có thể là đồng nghiệp xác nhận, giúp xác nhận một giao dịch.

Viết ứng dụng vải Hyperledger đầu tiên của bạn 

Bây giờ chúng ta đã hiểu cấu trúc kiến ​​trúc của Hyperledger Fabric, bây giờ là lúc tạo ứng dụng đầu tiên của bạn. Bằng cách xem qua ứng dụng, bạn sẽ có thể hiểu cách hoạt động của các ứng dụng Vải. Trong hướng dẫn này, bạn sẽ học cách sử dụng các hợp đồng thông minh, đơn giản và các ứng dụng khác trong khuôn khổ. 

Để giúp việc phát triển của chúng tôi dễ dàng hơn, chúng tôi sẽ sử dụng SDK ứng dụng để dễ dàng tham khảo khóa 

các chức năng, bao gồm cả việc gọi các hợp đồng thông minh và các truy vấn khác.

Ba bước chính mà bạn cần làm theo khi phát triển ứng dụng vải Hyperledger của mình bao gồm:

  1. Thiết lập môi trường phát triển. Môi trường phát triển cung cấp cho ứng dụng của bạn mạng cần thiết để hoạt động. Nó sẽ cung cấp cho bạn khả năng làm cho hợp đồng thông minh của bạn hoạt động tốt.
  2. Tìm hiểu về các hợp đồng thông minh mẫu. Ở đây, bạn phải xem qua hợp đồng thông minh và hiểu các giao dịch của nó. Chúng tôi sẽ chạy các truy vấn như được mô phỏng bởi các ứng dụng và cũng cập nhật sổ cái bằng cách sử dụng nó.
  3. Phát triển ứng dụng mẫu: Trong bước cuối cùng, bạn sẽ tạo một ứng dụng mẫu bằng cách sử dụng hợp đồng thông minh.

Xây dựng mạng đầu tiên

Trước khi chúng tôi bắt đầu với ứng dụng, hãy xây dựng mạng đầu tiên của chúng tôi. Để bắt đầu, chúng ta cần cài đặt một số điều kiện tiên quyết. Những điều kiện tiên quyết này sẽ đảm bảo rằng mọi thứ chạy như dự định.

Kiểm tra hướng dẫn cài đặt điều kiện tiên quyết của họ đây.

Ngoài ra, hãy xem Hyperledger Composer: Build Your Enterprise Blockchain

Bạn có thể muốn cài đặt tệp nhị phân, mẫu và hình ảnh docker. Xem hướng dẫn cài đặt đây.

Khi bạn cài đặt các mẫu, bạn sẽ tìm thấy các mẫu vải có trong đó. Nó phải được bao gồm trong kho lưu trữ “mẫu vải”. Trong kho lưu trữ, có mẫu mạng đầu tiên.

Để di chuyển đến thư mục đó, di chuyển đến thư mục bằng lệnh cd như bên dưới.

cd vải-mẫu / mạng đầu tiên

Để chạy mẫu mạng thứ nhất, bạn cần sử dụng tập lệnh byfn.sh. Kịch bản được thiết kế để bắt đầu dự án với bốn đồng nghiệp một cách nhanh chóng. Bốn đồng nghiệp đại diện cho hai tổ chức khác nhau. Nó cũng sẽ khởi chạy vùng chứa, mã chaincode và các giao dịch. Vùng chứa sẽ cho phép nhiều đồng nghiệp hơn tham gia mạng.

Tạo tạo tác mạng

Bây giờ bạn có thể tạo chứng chỉ và khóa cho các thực thể mạng. Để làm như vậy, bạn cần chạy lệnh sau.

.byfn.sh tạo

Bạn sẽ được yêu cầu xác nhận trước khi quá trình bắt đầu. Nhấn Y để bắt đầu điền vào mạng với thông tin cần thiết, bao gồm cấp nguồn cho các dịch vụ đặt hàng, cấu hình, v.v..

Cấp nguồn cho mạng

Tiếp theo, chúng ta cần cấp nguồn cho mạng. Cấp nguồn cho mạng có thể được thực hiện bằng lệnh đơn giản dưới đây.

./byfn.sh up

Khi bạn chạy lệnh, khung công tác sẽ biên dịch các hình ảnh mã hóa Golang. Ngoài ra, các vùng chứa được liên kết cũng sẽ kích hoạt để cung cấp cho các đồng nghiệp mới cách tham gia mạng. 

Theo mặc định, bạn sẽ thấy Bắt đầu hoạt động. Đó là bởi vì Go là ngôn ngữ mặc định của chaincode. Tuy nhiên, điều đó không có nghĩa là bạn không thể sử dụng các ngôn ngữ lập trình khác. Chaincode cũng hỗ trợ Node.js và Java. Để thay đổi thành một nút, bạn có thể sử dụng lệnh sau. 

.byfn.sh nút up -l

Tương tự, bạn có thể đổi sang Java nếu bạn cần.

.byfn.sh up -l java

Nếu bạn muốn sử dụng nhiều ngôn ngữ chaincode, thì bạn cần sử dụng dịch vụ đặt hàng bao gồm Raft hoặc Kafka.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

Mỗi lần sử dụng lệnh, bạn sẽ yêu cầu xác nhận lại một lần nữa trước khi lệnh được thực hiện.

Để hiểu thêm về cách xây dựng và duy trì mạng đầu tiên của bạn, hãy xem hướng dẫn xây dựng mạng đây.

Khởi chạy mạng

Bây giờ, bạn đã cài đặt các mẫu và đã xem qua trang điều kiện tiên quyết, đã đến lúc chúng tôi khởi chạy mạng.

Vì đơn giản, chúng tôi sẽ không sử dụng JavaScript. Ngoài ra, bạn cần thư mục con fabcar. Tạo bản sao địa phương repo mẫu vải.

Để khởi động mạng, bạn cần sử dụng tập lệnh shell startFnai.sh. Sau khi khởi chạy, bạn sẽ nhận được một mạng blockchain có cơ quan cấp chứng chỉ, người đặt hàng, đồng nghiệp, v.v. Khi thư mục con fabcar đang được sử dụng, hợp đồng thông minh FabCar sẽ tự động được cài đặt và bắt đầu. 

Lệnh khởi động mạng như sau:

./startFnai.sh javascript

Cài đặt ứng dụng

Bây giờ, đã đến lúc cài đặt ứng dụng. Tuy nhiên, trước khi làm điều đó, chúng ta cần cài đặt các phụ thuộc. 

cài đặt npm

Lệnh trên sẽ bắt đầu cài đặt các phụ thuộc quan trọng được xác định trong package.json

Trong gói, các lớp quan trọng sẽ được bắt đầu bao gồm

  • lớp vải-mạng → cho phép giao dịch, danh tính, ví
  • vải-ca-khách hàng → đăng ký người dùng với cơ quan cấp chứng chỉ tương ứng của họ

Sau khi hoàn tất, chúng ta sẽ chuyển đến thư mục fabcar / javascript. Hãy xem các tệp thư mục bên dưới:

  • encrollAdmin.js
  • node_modules
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • query.js
  • ví tiền

Giao tiếp với Tổ chức phát hành chứng chỉ

Bây giờ, chúng ta có một mạng đang chạy, hãy tìm hiểu cách giao tiếp với tổ chức phát hành chứng chỉ. 

Yêu cầu ký chứng chỉ (CSR)

Nhiệm vụ đầu tiên của chúng tôi là thực hiện một quá trình CSR. Trong quá trình này, quản trị viên liên hệ với tổ chức phát hành chứng chỉ để tạo chứng chỉ công khai, riêng tư và X.509. Chương trình dùng để làm là register.js

Để đăng ký quản trị viên, hãy sử dụng lệnh sau.

node registerAdmin.js

Tất cả thông tin hiện được lưu trữ trong ví tiền danh mục.

Quy trình tương tự cần được tuân theo nếu bạn muốn đăng ký người dùng khác. Hãy thử đăng ký một người dùng khác – người dùng mới

nút reisterUser.js 

Thao tác này sẽ đăng ký người dùng mới và lưu trữ thông tin đăng nhập của người dùng đó trong ví cùng với quản trị viên.

Truy vấn Sổ cái

Vì mạng blockchain có một bản sao của sổ cái, bạn có thể truy vấn nó để tìm thông tin. Sổ cái là chỉ đọc và đó là lý do tại sao chỉ các truy vấn đọc mới có thể được thực thi. Để hiểu rõ hơn, hãy xem hình ảnh bên dưới.

Nguồn: Hyperledger Fabric Docs

Các giá trị trên sổ cái cũng nằm trong trạng thái thế giới. Đây là giá trị cặp khóa được thảo luận trước đó trong hướng dẫn. Vì vậy, một truy vấn có thể tiết lộ dữ liệu từ các khóa. Tin tốt là bạn có thể sử dụng cơ sở dữ liệu như CouchDB. Các quốc gia trên thế giới có thể được định cấu hình để sử dụng cơ sở dữ liệu quan hệ.

Để lấy danh sách tất cả các xe trên sổ cái, hãy chạy lệnh sau,

node query.js

Để hiểu rõ hơn về cách hoạt động của truy vấn, bạn có thể mở query.js nộp hồ sơ và đi qua nó. Hãy xem qua nó bên dưới.

const {FileSystemWallet, Gateway} = request (‘vải-mạng’);

Trong dòng trên, một kết nối mạng được thực hiện

Sau đó, một cổng được tạo để ứng dụng kết nối. Nó được thực hiện bằng cách sử dụng các dòng dưới đây.

const gateway = new Gateway ();

await gateway.connect (ccp, {wallet, ID: ‘user1’});

Các ccp được sử dụng để xác định danh tính người dùng và thông tin ví liên quan. 

Vì mạng Hyperledger Fabric chạy nhiều kênh, điều quan trọng là phải kết nối với kênh cụ thể cho ứng dụng.

const contract = network.getContract (‘fabcar’);

Hiểu hợp đồng thông minh

Để hiểu rõ hơn về hợp đồng thông minh, hãy cùng tìm hiểu về nó. Nó cũng sẽ giới thiệu các giao dịch được thực hiện thông qua nó.

Để truy cập nó, bạn cần vào thư mục con chaincode / fabcar / javascript / lib. Khi đó, hãy mở fabcar.js trong trình chỉnh sửa.

Ở đó, bạn sẽ thấy việc sử dụng lớp Hợp đồng để xác định hợp đồng thông minh. Hơn nữa, sẽ có các giao dịch rõ ràng được xác định trong hợp đồng thông minh, bao gồm queryCar, queryAllCars, initLedger, changeCarOwner và createCar.

Các giao dịch sẽ giống như dưới đây:

async queryCar (ctx, carNumber) {…}

Hãy xem giao dịch queryCar.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = ‘CAR999’;

  const iterator = await ctx.stub.getStateByRange (startKey, endKey);

Nguồn: Hyperledger Fabric Docs

Cập nhật Sổ cái: Mua một chiếc ô tô mới

Bước cuối cùng là cập nhật sổ cái với thông tin mới. Trong trường hợp này, hãy tạo một chiếc ô tô mới bằng cách sử dụng invoke.js. Bạn cần mở tệp và thêm lệnh sau vào tệp đó.

await contract.submitTransaction (‘createCar’, ‘CAR12’, ‘CarBrand’, ’Model’, ‘Color’, ‘Owner’);

Trong đoạn mã trên, ứng dụng gọi các giao dịch hợp đồng thông minh createCar. Đổi lại, nó sẽ tạo ra chiếc xe với các thuộc tính của nó, bao gồm CarBrand, Color, Model và Owner.

Bây giờ, hãy chạy mã sau để đẩy nó vào sổ cái

nút invoke.js

Điều này sẽ dẫn đến cập nhật sổ cái và bạn sẽ nhận được đầu ra thành công.

Phần kết luận

Điều này dẫn chúng ta đến phần cuối của hướng dẫn của chúng tôi. Trong hướng dẫn, mục đích của chúng tôi là chỉ bao gồm bề mặt. Nếu bạn muốn tìm hiểu sâu hơn, bạn có thể xem tài liệu Hyperledger Fabric chính thức của họ, thảo luận về mọi thứ chi tiết. 

Vì vậy, bạn có định sử dụng Hyperledger Fabric để xây dựng chuỗi khối doanh nghiệp không? Bình luận bên dưới và hãy cho chúng tôi biết.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map