Урок за DAML: Първи стъпки с DAML

Търсите ли урок по DAML? Ако го направите, значи сте попаднали на правилното място. В тази статия ще правим подходящ урок за DAML блокчейн.

Урокът ще премине през основно разбиране на DAML, защо е необходим, и примери за кодове, за да има по-голям смисъл от него. Ако сте начинаещ, ще намерите урок, за да започнете с DAML. Накратко, това е перфектен урок по DAML за начинаещи. Това обаче не е пълен урок за разработка на DAML, тъй като няма да изграждаме пълно приложение в урока, тъй като е извън обхвата на статията.

Урок за DAML: Първи стъпки с DAML

И така, какво е DAML? Нека да изследваме.

Нуждаете се от опресняване на блокчейн? Вижте ръководството Blockchain for Beginners, за да започнете! Също така вижте нашето Крайно ръководство за DAML.

Какво е DAML?

DAML е език за програмиране с отворен код за разработване на разпределени приложения. Позволява на разработчиците да създават тези разпределени приложения кратко, бързо и правилно.

Hyperledger поддържа DAML и го е превърнал в част от своята екосистема. Това също прави DAML един от езиците за програмиране, които работят на върха на водещите блокчейн платформи там. Да, приема се от множество платформи. Това също улеснява разработчиците бързо да разработят своето приложение и след това да решат къде искат да го внедрят.

Какво прави DAML толкова специален?

DAML е език за програмиране за изграждане на разпределени езици. Тъй като все повече компании разбират значението на разпределените приложения, DAML предоставя инструмент за тези компании и техните разработчици да постигнат целите си. Всъщност това е един от онези невероятни инструменти, които ви позволяват да вземете вашето разпределено приложение под свой контрол.

DAML се справя с проблемите на твърдия дизайн челно, тъй като предоставя решение на сложни проблеми като синхронизация на разпределено състояние и криптография. За постигане на целта той е преработен. 

Основният дизайн или изпълнение се абстрахира, когато разработчик напише своето блокчейн приложение. Това позволява на разработчика да се съсредоточи върху абстрактното изискване и да остави DAML да се справи с цялата упорита работа. Като знаете, че DAML е специален, можете по-добре да оцените изучаването на DAML, като използвате нашия урок по DAML.

DAML функции


В този раздел на нашия урок по DAML ще научим за ключовите характеристики на DAML.

Модел на данни: DAML позволява на разработчиците да създават сложни схеми за данни за тяхното приложение с лекота. Това улеснява проектирането и изпълнението на сложни изисквания или бизнес процеси.

Фино разрешени разрешения: Договорите DAML са прецизирани, за да зададат разрешения. Това означава, че разработчиците могат да определят кой може да подпише договора, кой може да го види и при какви условия.

Бизнес логика: Бизнес логиката също може да бъде интегрирана с лекота. Разработчикът може да напише действия, които са необходими за договора, неговите твърдения, параметри и др!

Тестване на сценарий: С DAML е възможно и тестване на сценарий. Той позволява на разработчика да тества бизнес логиката и други аспекти на вашите децентрализирани приложения, като работни потоци.

Функции по време на изпълнение

Освен горните четири основни функции, имаме и DAML Runtime. Времетраене се отнася до средата, създадена от приложението по време на изпълнението му. В това състояние, което има ключови характеристики, които карат програмата да работи ефективно и ефективно. Като научите за тях в урока по DAML, ще можете да затвърдите своето DAML обучение.

Нека да поговорим за тях по-долу.

Абстракция на съхранение → Абстракцията на хранилището предлага устойчив слой, който гарантира, че всички DAML програми са агностични за съхранение. С прости думи, програмите DAML не зависят от избраното хранилище, тъй като могат да конвертират споменатите данни в смилаем формат.

Проверки за разрешаване → Упълномощаването проверява всички действия в рамките на договор. Ако действието не премине правилно упълномощаване, то няма да бъде разрешено да се изпълни.

След това договорът ще доведе до грешка по време на изпълнение и ще информира купувача или разработчика.

Проследяване на отчетността → Времето на изпълнение е отговорно и за проследяването на отчетността. Той гарантира, че страните доброволно влизат в споразумението. За да се случи, бяха необходими подписи на подписващите. Това се прави, за да се предпази купувачът от всяко насилствено поведение от страна на организатора или продавача. 

Атомна композируемост → DAML поддържа атомен дизайн. Това означава, че всички действия се извършват атомно и следователно могат да бъдат извършени или изобщо да не бъдат извършени. Няма средно положение, когато става въпрос за изпълнение на договори. Това се прави, за да се гарантира безопасността на работния процес и да се избегнат експлоататорите.

Няма двойни разходи → С DAML време на изпълнение, договорите са предназначени да гарантират, че не са възможни двойни разходи. Това означава, че един и същ договор не може да бъде изпълнен два пъти. 

Поверителност, която трябва да знаете → DAML предлага ниво на транзакция, което прави информацията достъпна, когато бъде одобрена.

Детерминирано изпълнение → И накрая, времето за изпълнение поддържа детерминирано изпълнение. Това означава, че ефектът от всяко действие зависи от текущото състояние на счетоводната книга.

Първи стъпки с DAML

В този раздел на нашия урок по DAML ще разгледаме ръководството за стартиране на урока по блокчейн DAML. Преди да можете да използвате DAML, трябва да го инсталирате.

За да използвате DAML, трябва да следвате двуетапен процес.

1) Инсталиране на зависимости

За да използвате DAML, първо трябва да инсталирате зависимостите. За да направите това, трябва да изтеглите SDK и да го инсталирате на вашата операционна система.

Освен това, най-добре би било да имате и следното

  • Visual Studio Code или друга съвместима интегрирана среда за разработка
  • JDK 8 или по-висока.

2) Инсталиране на SDK

Ако използвате Windows, можете да отидете на връзка и изтеглете изпълнимия файл.

За Linux или MAC трябва да изпълните следната команда, използвайки curl.

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

Ще ви помоли да добавите ~ / .daml / bin към вашата променлива PATH. След като сте готови, сте готови да използвате DAML.

Наръчник за начинаещи на DAML

Никога ли не сте работили с DAML? Тогава, не се притеснявайте, тъй като в този раздел ще разгледаме основите на DAML, неговите типове данни, шаблони, функции, изрази и т.н.!

Но преди да го направим, трябва да разберем модела на Ledger DA (Digital Asset). Това е важна част от нашия урок по DAML.

DA Ledger Model

DA Ledger Model е в основата на DAML. Той предлага многостранни работни потоци с помощта на виртуална споделена книга. За да получите по-добра идея, можете да проверите екранната снимка по-долу.

Източник: DAML документация

Моделът се използва за дефиниране, структура на регистрите на DA (какво), модел на целостта (който може да поиска) и модел за поверителност (който може да види).

За да получите по-задълбочено разбиране на модела DA Ledger, разгледайте официалната документация тук.

Основни договори

В основата на DAML ще намерите DAML книга. Ще преминем през малък шаблон, тъй като той ще ни помогне да разберем основни концепции, включително транзакции, шаблони договори, подписали, DAML модули и файлове.

Ангажира

DAML Ledger съдържа списък „ангажименти“. С прости думи, фиксирането е изпратена транзакция в дневника. Като договор можете да го възприемате като активна транзакция, която трябва да бъде изпълнена и изпълнението й зависи от атрибутите и условията на договора.

DAML модули и файлове

Преди да започнете, трябва да споменете версията DAML. Това може да се направи в горната част на файла DAML. Версията ще уведоми компилатора коя версия на езика се използва.

дяволски 1.2

За да импортирате модула, трябва да използвате ключовата дума „module“.

модул Token къде

Коментари

Ако искате да добавите коментари, можете да го направите с помощта на ключовата дума „-“.

– Това е коментар

Шаблони

За дефиниране на типа на договора се използва шаблон. Това определя субектите, които имат достъп за изпълнение на договора. Можете да мислите за договорите като за пример на шаблон.

шаблон Token

    с

        собственик: Парти

    където 

        собственик подписал

Както можете да видите, ние дефинирахме шаблон на Token, използвайки ключовата дума “template”. Необходим е и аргумент. Още нещо, което можете да забележите, е, че е ориентирано към празното пространство. Ако преди сте използвали Python, ще разберете как е структуриран и предназначен кодът.

И накрая, можете да видите ключовата дума подписваща, която означава подписващите екземпляри на договора. Органът на тази страна е длъжен да предприеме действия по договора, включително да го архивира и създаде. 

Разбиране на сценариите с помощта на шаблони

След като разбрахме основната структура на шаблон, сега ще разберем сценариите, използвайки два други шаблона в нашия урок DAML. Но преди да го направим, нека разберем какво точно е „сценарий.

Сценарий

Сценарият може да бъде най-добре описан като тестова рецепта, която може да се използва, за да се провери дали шаблоните се държат както трябва. Може да се използва за извършване на тестове за транзакции. Нека да разгледаме примера по-долу.

token_test_one = сценарий правя

    Сам <- getParty “sam”

    изпрати сам направи

        създаване на жетон със собственик = сам

Горното е основният сценарий, който се занимава с Токена за парти, известна като „sam“.

За да стартирате сценария, трябва да използвате студиото DAML. 

За да научите повече за сценария, предлагаме ви да разгледате страница за документация на сценария тук.

Тип данни

Подобно на всеки език за програмиране, DAML също поддържа типове данни. Типовете данни ви позволяват да дефинирате променлива и да съхранявате данни там.

За да ви улесним, нека помислим за шаблони като таблици в базата данни. Сега можете да запазите данни в шаблона и да си помогнете да ги управлявате лесно чрез дизайна на шаблона.

Има много собствени типове данни, които DAML се предлага. Той включва следното.

  • Партия → За съхраняване на идентичност на обекта. Страните могат да подават сделки и да подписват договори.
  • Текст → Съхранява Unicode знак
  • Int → съхранява 64-битови цели числа
  • Decime → съхранява номера с фиксирана точка
  • Дата → съхранява дата
  • Time → съхранява времето в UTC
  • RelTime → Съхранява разликата във времето
  • ContractId → препратка към вида на договора

По-долу е даден кодът за разбиране на някои от родните типове.

native_test = сценарий

  Сам <- getParty “Сам”

  Мистерио <- getParty “Мистерио”

  позволявам

    my_int = –657

    my_dec = 0,001: десетична

    my_text = “Сам”

    my_bool = Невярно

 

  твърдя (Сам / = Мистерио)

  твърдя (-my_int == 123)

  твърдя (1000.0 * my_dec == 1.0)

  твърдя (my_text == “Сам”)

DAML поддържа и други типове данни, включително Tuples, Lists и Records. 

За да научите за типовете данни в DAML, разгледайте страницата с тяхната документация тук.

Трансформиране на данни чрез избор

DAML поддържа неизменност. Това означава, че когато има нужда от актуализиране на данни; трябва да се създаде нов договор с новите данни. Това обаче не винаги е така, тъй като винаги има нещо много малко за промяна и модификация. Например, една компания може да поиска да промени телефонния си номер, за да го използва избор.

Нека да разгледаме пример, взет в DAML документацията.

шаблон Контакт

  с

    собственик: Парти

    парти: Парти

    адрес: Текст

    телефон: Текст

  където

    собственик подписал

 

    собственикът на контролера може

      АктуализацияТелефон

        : ContractId Contact

        с

          новТелефон: Текст

        направете

          създайте това с

            телефон = новТелефон

По-голямата част от кода е обяснителна по-горе. Единственото нещо, което трябва да знаете, е, че ние определихме избор, известен като „Актуализиране на телефон“.

Изборът може да се използва и като делегиране. И накрая, те също могат да бъдат интегрирани в модела на главната книга. 

За да научите повече за избора на DAML, можете да разгледате официалната страница с документация тук.

Добавяне на ограничения към договор

Можете също да добавите ограничения към DAML договора, използвайки ключовата дума „осигуряване“. Можете също така да използвате другия механизъм, който използва ключова дума за твърдение, прекъсване и грешка, за да добавите ограничения към договора.

Но преди да го направите, трябва да имате подходящи предварителни условия за шаблон в договора си. 

За да научите повече за ограниченията и ограниченията, можете да проверите документацията тук.

Страни и орган

DAML има подходящ начин да борави със страните и да ги упълномощи за достъп до договор. Можете да ги използвате, за да предавате не само правомощия, но и да пишете разширени възможности за избор, които могат да променят начина на работа на книгата. Тази гъвкавост е важна, тъй като дава на страните достатъчно инструменти да променят нещата и същевременно запазва основната идея на договора непокътната. 

Например можете да предотвратите отмяна на IOU или по-добре да направите еднократно упълномощаване, като използвате работни процеси на предложение-приемане. Има много опции, които са направени в DAML, за да предоставят решение за почти всеки сценарий там.

Прочетете повече за партиите и властите тук.

Заключение

Това ни води до края на нашия урок по DAML. В този урок успяхме да научим за DAML и какво го прави специален. Също така научихме за вътрешната работа на DAML и други ключови аспекти на езика за програмиране, като типове данни, сценарии и т.н. Тези ключови концепции ще ви помогнат да се ангажирате с DAML проектите, които ще предприемете в бъдеще.

И така, какво мислите за DAML? Смятате ли, че има потенциал да се превърне в вездесъщ език за програмиране за създаване на децентрализирани приложения? Коментирайте по-долу и ни уведомете.

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