Hướng dẫn DAML: Bắt đầu với DAML

Bạn đang tìm kiếm một hướng dẫn DAML? Nếu bạn làm vậy, thì bạn đã đến đúng nơi. Trong bài viết này, chúng tôi sẽ thực hiện một hướng dẫn blockchain DAML thích hợp.

Hướng dẫn này sẽ đi qua những hiểu biết cơ bản về DAML, tại sao nó lại cần thiết và các ví dụ mã để hiểu rõ hơn về nó. Nếu bạn là người mới bắt đầu, bạn sẽ tìm thấy hướng dẫn để bắt đầu với DAML. Tóm lại, đây là một hướng dẫn DAML hoàn hảo cho người mới bắt đầu. Tuy nhiên, đây không phải là hướng dẫn phát triển DAML hoàn chỉnh vì chúng tôi sẽ không xây dựng bất kỳ ứng dụng hoàn chỉnh nào trong hướng dẫn vì nó nằm ngoài phạm vi của bài viết.

Hướng dẫn DAML: Bắt đầu với DAML

Hướng dẫn DAML

Vậy, DAML là gì? Hãy khám phá.

Cần một bản cập nhật mới về blockchain? Hãy xem hướng dẫn về Blockchain cho người mới bắt đầu để bắt đầu! Ngoài ra, hãy xem Hướng dẫn cơ bản về DAML của chúng tôi.

DAML là gì?

DAML là một ngôn ngữ lập trình mã nguồn mở để phát triển các ứng dụng phân tán. Nó cho phép các nhà phát triển tạo các ứng dụng phân tán đó một cách ngắn gọn, nhanh chóng và chính xác.

Hyperledger duy trì DAML và biến nó trở thành một phần của hệ sinh thái của mình. Điều này cũng làm cho DAML trở thành một trong những ngôn ngữ lập trình chạy trên các nền tảng blockchain hàng đầu hiện có. Có, nó được nhiều nền tảng chấp nhận. Nó cũng giúp các nhà phát triển dễ dàng nhanh chóng phát triển ứng dụng của họ và sau đó quyết định nơi họ muốn triển khai nó.

Điều gì làm cho DAML trở nên đặc biệt?

DAML là một ngôn ngữ lập trình để xây dựng các ngôn ngữ phân tán. Với ngày càng nhiều công ty hiểu được tầm quan trọng của các ứng dụng phân tán, DAML cung cấp một công cụ để các công ty đó và các nhà phát triển của họ đạt được mục tiêu của họ. Trên thực tế, đây là một trong những công cụ tuyệt vời cho phép bạn kiểm soát ứng dụng được phân phối của mình.

DAML giải quyết trực tiếp các vấn đề thiết kế khó vì nó cung cấp giải pháp cho các vấn đề phức tạp như đồng bộ hóa trạng thái phân tán và mật mã. Để đạt được mục tiêu, nó được thiết kế lại.

Thiết kế hoặc triển khai cơ bản được tóm tắt khi một nhà phát triển viết ứng dụng blockchain của mình. Nó cho phép nhà phát triển tập trung vào yêu cầu trừu tượng và để DAML xử lý tất cả các công việc khó khăn. Khi biết rằng DAML là đặc biệt, bạn có thể đánh giá cao hơn việc học DAML bằng cách sử dụng hướng dẫn DAML của chúng tôi.

Tính năng DAML

Trong phần này của hướng dẫn DAML, chúng ta sẽ tìm hiểu về các tính năng chính của DAML.

Mô hình dữ liệu: DAML cho phép các nhà phát triển tạo các lược đồ dữ liệu phức tạp cho ứng dụng của họ một cách dễ dàng. Điều này giúp dễ dàng thiết kế và thực hiện các yêu cầu phức tạp hoặc quy trình kinh doanh.

Quyền chi tiết: Các hợp đồng DAML được tinh chỉnh để đặt quyền. Điều này có nghĩa là các nhà phát triển có thể đặt ai có thể ký hợp đồng, ai có thể xem hợp đồng và ở những điều kiện nào.

Logic kinh doanh: Logic kinh doanh cũng có thể được tích hợp một cách dễ dàng. Nhà phát triển có thể viết các hành động được yêu cầu trên hợp đồng, các xác nhận, thông số của hợp đồng và hơn thế nữa!

Kiểm tra dựa trên tình huống: Kiểm tra dựa trên kịch bản cũng có thể thực hiện được với DAML. Nó cho phép nhà phát triển kiểm tra logic nghiệp vụ và các khía cạnh khác của ứng dụng phi tập trung của bạn, chẳng hạn như quy trình làm việc.

Tính năng thời gian chạy

Ngoài bốn tính năng cốt lõi trên, chúng tôi còn có DAML Runtime. Runtime đề cập đến môi trường được tạo bởi ứng dụng trong quá trình thực thi. Trong trạng thái này có các tính năng chính làm cho chương trình chạy hiệu quả và hiệu quả. Bằng cách tìm hiểu về chúng trong hướng dẫn DAML, bạn sẽ có thể củng cố việc học DAML của mình.

Hãy nói về chúng bên dưới.

Lưu trữ trừu tượng → Tính trừu tượng lưu trữ cung cấp một lớp bền vững đảm bảo rằng tất cả các chương trình DAML đều là lưu trữ bất khả tri. Nói một cách dễ hiểu, các chương trình DAML không phụ thuộc vào bộ nhớ đã chọn vì nó có thể chuyển đổi dữ liệu đã nói thành một định dạng có thể tiêu hóa được.

lưu trữ-trừu tượng

Kiểm tra Ủy quyền & rarr; Việc ủy ​​quyền kiểm tra tất cả các hành động trong một hợp đồng. Nếu hành động không được ủy quyền thích hợp, thì hành động đó sẽ không được phép thực thi.

daml-hướng dẫn-ủy quyền-kiểm tra

Sau đó, hợp đồng sẽ xuất hiện lỗi thời gian chạy và thông báo cho người mua hoặc nhà phát triển.

chết tiệt-hướng dẫn-lỗi.

Theo dõi trách nhiệm & rarr; Thời gian chạy cũng chịu trách nhiệm theo dõi trách nhiệm giải trình. Nó đảm bảo rằng các bên tự nguyện tham gia vào thỏa thuận. Để làm cho nó xảy ra, chữ ký của các bên ký kết đã được yêu cầu. Điều này được thực hiện để bảo vệ người mua khỏi bất kỳ hành vi cưỡng bức nào từ người tổ chức hoặc người bán.

Khả năng tương tác nguyên tử & rarr; DAML hỗ trợ thiết kế nguyên tử. Điều này có nghĩa là tất cả các hành động được thực hiện một cách nguyên tử và do đó có thể được thực hiện hoặc không. Không có điểm trung gian khi thực hiện hợp đồng. Điều này được thực hiện để đảm bảo sự an toàn của quy trình làm việc và tránh xa những kẻ khai thác.

Không có chi phí gấp đôi → Với thời gian chạy DAML, các hợp đồng được thiết kế để đảm bảo rằng không có khả năng chi tiêu gấp đôi. Điều này có nghĩa là cùng một hợp đồng không thể được thực hiện hai lần.

Quyền riêng tư cần biết → DAML cung cấp mức giao dịch phụ, giúp thông tin có sẵn khi được phê duyệt.

Thực thi xác định → Cuối cùng, thời gian chạy hỗ trợ thực thi xác định. Điều này có nghĩa là hiệu quả của bất kỳ hành động nào phụ thuộc vào trạng thái hiện tại của sổ cái.

Bắt đầu với DAML

Trong phần này của hướng dẫn DAML của chúng tôi, chúng tôi sẽ xem xét hướng dẫn bắt đầu cho hướng dẫn DAML blockchain. Trước khi có thể sử dụng DAML, bạn cần cài đặt nó.

Để sử dụng DAML, bạn cần thực hiện theo quy trình hai bước.

1) Cài đặt phụ thuộc

Để sử dụng DAML, trước tiên bạn cần cài đặt các phụ thuộc. Để làm như vậy, bạn cần tải xuống SDK và cài đặt nó trên hệ điều hành của mình.

Ngoài ra, sẽ tốt nhất nếu bạn cũng có những thứ sau

  • Visual Studio Code hoặc bất kỳ môi trường phát triển tích hợp tương thích nào
  • JDK 8 trở lên.

2) Cài đặt SDK

Nếu bạn đang sử dụng Windows, bạn có thể truy cập liên kết, và tải xuống tệp thực thi.

Đối với Linux hoặc MAC, bạn cần chạy lệnh sau bằng curl.

curl –sSL https://get.daml.com/ | sh

Nó sẽ yêu cầu bạn thêm ~ / .daml / bin vào biến PATH của bạn. Sau khi hoàn tất, bạn đã sẵn sàng sử dụng DAML.

Hướng dẫn dành cho người mới bắt đầu của DAML Tutorial

Bạn chưa bao giờ làm việc với DAML? Sau đó, đừng lo lắng, như trong phần này, chúng ta sẽ đi qua các khái niệm cơ bản về DAML, các kiểu dữ liệu, mẫu, hàm, biểu thức của nó, v.v.!

Tuy nhiên, trước khi làm, chúng ta cần hiểu Mô hình sổ cái DA (Tài sản kỹ thuật số). Đây là một phần quan trọng trong hướng dẫn DAML của chúng tôi.

Mô hình sổ cái DA

DA Ledger Model là cốt lõi của DAML. Nó cung cấp quy trình làm việc của nhiều bên với sự trợ giúp của sổ cái ảo được chia sẻ. Để hiểu rõ hơn, bạn có thể xem ảnh chụp màn hình bên dưới.

DAML-Hướng dẫn-Sổ cái-Mô hình

Nguồn: tài liệu DAML

Mô hình được sử dụng để xác định, cấu trúc sổ cái DA (cái gì), mô hình toàn vẹn (ai có thể yêu cầu) và mô hình quyền riêng tư (ai có thể xem).

Để hiểu sâu hơn về Mô hình sổ cái DA, hãy xem tài liệu chính thức đây.

Hợp đồng cơ bản

Tại cốt lõi của DAML, bạn sẽ tìm thấy một sổ cái DAML. Chúng ta sẽ xem qua một mẫu nhỏ vì nó sẽ giúp chúng ta hiểu các khái niệm thiết yếu, bao gồm giao dịch, hợp đồng mẫu, bên ký kết, mô-đun DAML và tệp.

Cam kết

Sổ cái DAML chứa danh sách “cam kết”. Nói một cách dễ hiểu, một cam kết là một giao dịch được gửi đến sổ cái. Đối với hợp đồng, bạn có thể coi nó như một giao dịch đang hoạt động cần được thực hiện và việc thực hiện nó phụ thuộc vào các thuộc tính và điều kiện của hợp đồng.

Các mô-đun và tệp DAML

Trước khi bắt đầu, bạn cần đề cập đến phiên bản DAML. Nó có thể được thực hiện ở đầu tệp DAML. Phiên bản sẽ thông báo cho trình biên dịch biết phiên bản ngôn ngữ nào đang được sử dụng.

chết tiệt1,2

Để nhập mô-đun, bạn cần sử dụng từ khóa “mô-đun”.

moduleTokenwhere

Bình luận

Nếu bạn muốn thêm nhận xét, bạn có thể thực hiện bằng cách sử dụng từ khóa “-”.

– Đây là một nhận xét

Mẫu

Mẫu được sử dụng để xác định loại hợp đồng. Điều này xác định các thực thể có quyền truy cập để thực hiện hợp đồng. Bạn có thể coi các hợp đồng là các trường hợp mẫu.

Mã thông báo mẫu

với

chủ sở hữu: Đảng

Ở đâu

chủ sở hữu ký tên

Như bạn có thể thấy, chúng tôi đã xác định một mẫu Mã thông báo bằng cách sử dụng từ khóa “mẫu”. Nó cũng cần một cuộc tranh cãi. Một điều nữa mà bạn có thể lưu ý là nó được định hướng khoảng trắng. Nếu bạn đã sử dụng Python trước đây, bạn sẽ hiểu cách mã được cấu trúc và mục đích.

Cuối cùng, bạn có thể thấy từ khóa người ký, từ khóa này biểu thị các trường hợp ký kết của các trường hợp hợp đồng. Quyền hạn của bên này được yêu cầu để thực hiện các hành động đối với hợp đồng, bao gồm cả việc lưu trữ và tạo nó.

Hiểu các tình huống sử dụng các mẫu

Bây giờ chúng ta đã hiểu cấu trúc cơ bản của một mẫu, bây giờ chúng ta sẽ hiểu các kịch bản bằng cách sử dụng hai mẫu khác trong hướng dẫn DAML của chúng tôi. Tuy nhiên, trước khi thực hiện, chúng ta hãy hiểu chính xác “kịch bản.

Tình huống

Một tình huống có thể được mô tả tốt nhất là một công thức thử nghiệm có thể được sử dụng để kiểm tra xem các mẫu có đang hoạt động như bình thường hay không. Nó có thể được sử dụng để thực hiện các thử nghiệm giao dịch. Hãy xem ví dụ dưới đây.

token_test_one = kịch bản làm

sam <- getParty “sam”

nộp sam do

tạo Mã thông báo với chủ sở hữu = sam

Trên đây là kịch bản cơ bản giao dịch với Token cho một bên được gọi là “sam”.

Để chạy kịch bản, bạn cần sử dụng studio DAML.

Để tìm hiểu thêm về kịch bản, chúng tôi khuyên bạn nên xem trang tài liệu kịch bản ở đây.

Loại dữ liệu

Cũng giống như bất kỳ ngôn ngữ lập trình nào, DAML cũng hỗ trợ các kiểu dữ liệu. Các kiểu dữ liệu cho phép bạn xác định một biến và lưu trữ dữ liệu ở đó.

Để giúp bạn đơn giản hơn, hãy nghĩ các mẫu dưới dạng bảng cơ sở dữ liệu. Giờ đây, bạn có thể lưu dữ liệu trong mẫu và giúp bản thân quản lý chúng dễ dàng thông qua thiết kế mẫu.

Có nhiều kiểu dữ liệu gốc mà DAML đưa vào. Nó bao gồm các kiểu sau.

  • Bên → Để lưu trữ danh tính thực thể. Các bên có thể gửi giao dịch và ký kết hợp đồng.
  • Văn bản → Lưu trữ ký tự Unicode
  • Int → lưu trữ số nguyên 64 bit
  • Decime → lưu trữ số điểm cố định
  • Ngày → lưu trữ một ngày
  • Thời gian → lưu trữ thời gian theo UTC
  • RelTime → Chênh lệch múi giờ
  • ContractId → tham chiếu đến loại hợp đồng

Dưới đây là mã để hiểu một số kiểu gốc.

native_test = kịch bản làm

Sam <- getParty “Sam”

Mysterio <- getParty “Mysterio”

để cho

my_int = –657

my_dec = 0,001: Số thập phân

my_text = “Sam”

my_bool = Sai

khẳng định (Sam / = Mysterio)

khẳng định (-my_int == 123)

khẳng định (1000.0 * my_dec == 1.0)

khẳng định (my_text == “Sam”)

DAML cũng hỗ trợ các kiểu dữ liệu khác bao gồm Tuples, Lists và Records.

Để tìm hiểu về các loại dữ liệu trong DAML, hãy xem trang tài liệu của chúng đây.

Chuyển đổi dữ liệu bằng các lựa chọn

DAML hỗ trợ tính bất biến. Điều đó có nghĩa là bất cứ khi nào có nhu cầu cập nhật dữ liệu; một hợp đồng mới cần được tạo với dữ liệu mới. Tuy nhiên, điều đó không phải lúc nào cũng vậy vì luôn có những điều rất nhỏ cần thay đổi và sửa đổi. Ví dụ: một công ty có thể muốn thay đổi số điện thoại của mình để sử dụng sự lựa chọn.

Hãy xem một ví dụ được lấy trong tài liệu DAML.

liên hệ mẫu

với

chủ sở hữu: Đảng

party: Đảng

địa chỉ: Văn bản

điện thoại: Văn bản

Ở đâu

chủ sở hữu ký tên

chủ sở hữu bộ điều khiển có thể

UpdateTelephone

: ContractIdContact

với

newTelephone: Văn bản

làm

tạo ra cái này với

phone = newTelephone

Hầu hết các mã đều tự giải thích ở trên. Điều duy nhất ở đây bạn cần biết là chúng tôi đã xác định một lựa chọn được gọi là “UpdateTelephone”.

Các lựa chọn cũng có thể được sử dụng như một ủy quyền. Cuối cùng, chúng cũng có thể được tích hợp vào Mô hình Sổ cái.

Để tìm hiểu thêm về các lựa chọn DAML, bạn có thể xem trang tài liệu chính thức đây.

Thêm các ràng buộc vào hợp đồng

Bạn cũng có thể thêm các ràng buộc vào hợp đồng DAML bằng cách sử dụng từ khóa “ensure”. Bạn cũng có thể sử dụng cơ chế khác sử dụng từ khóa khẳng định, hủy bỏ và lỗi để thêm các ràng buộc vào hợp đồng.

Tuy nhiên, trước khi làm như vậy, bạn cần phải đặt ra các điều kiện tiên quyết về mẫu phù hợp trong hợp đồng của mình.

Để tìm hiểu thêm về các ràng buộc và hạn chế, bạn có thể xem tài liệu đây.

Các bên và Cơ quan

DAML có một cách thích hợp để xử lý các bên và cho phép họ truy cập vào hợp đồng. Bạn có thể sử dụng chúng để không chỉ vượt qua thẩm quyền mà còn viết các lựa chọn nâng cao có thể thay đổi cách sổ cái hoạt động. Tính linh hoạt này rất quan trọng vì nó cung cấp cho các bên đủ công cụ để thay đổi mọi thứ và cũng giữ nguyên ý tưởng cốt lõi của hợp đồng.

Ví dụ: bạn có thể ngăn việc thu hồi IOU hoặc thực hiện ủy quyền một lần tốt hơn bằng cách sử dụng quy trình công việc chấp nhận đề xuất. Có rất nhiều tùy chọn được thực hiện trong DAML để cung cấp giải pháp cho hầu hết mọi tình huống hiện có.

Đọc thêm về các đảng và chính quyền đây.

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 DAML của chúng tôi. Trong hướng dẫn này, chúng tôi đã tìm hiểu về DAML và điều gì làm cho nó trở nên đặc biệt. Chúng tôi cũng đã tìm hiểu về hoạt động bên trong của DAML và các khía cạnh chính khác của ngôn ngữ lập trình, chẳng hạn như kiểu dữ liệu, kịch bản, v.v. Những khái niệm chính này sẽ giúp bạn tham gia vào các dự án DAML mà bạn sẽ thực hiện trong tương lai.

Vậy, bạn nghĩ gì về DAML? Bạn có nghĩ rằng nó có tiềm năng trở thành một ngôn ngữ lập trình phổ biến để tạo ra các ứng dụng phi tập trung 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:
map