Plutus (Cardano) — язык сценариев, используемый в блокчейне Cardano для разработки смарт-контрактов.
Что такое Plutus (Кардано)?
Plutus — один из наиболее важных компонентов Cardano, который позволяет создавать смарт-контракты и децентрализованные приложения (dApps) в Cardano.
Смарт-контракты — это автоматизированные контракты, которые можно использовать для прозрачного обмена деньгами, имуществом, акциями или чем-либо ценным, избегая при этом услуг посредника.
Plutus — это продвинутый язык программирования, который позволяет разработчикам функционально писать смарт-контракты на Cardano. Он основан на Haskell, который предлагает уникальное сочетание первоклассной безопасности и высокой производительности.
Разработчики смогут создавать dApps (децентрализованные приложения) с помощью Plutus и Haskell, а затем безопасно и эффективно запускать их в блокчейне.
Plutus родился из-за желания иметь четкий, интуитивно понятный и последовательный язык для написания смарт-контрактов на Cardano. Он был специально разработан для взаимодействия с блокчейном. Он основан на Haskell, функциональном языке программирования общего назначения, который существует уже несколько десятилетий и широко используется в промышленности и научных кругах. Это чисто функциональный язык со статической типизацией и строгой системой типов.
Программы Plutus работают в двух разных средах:
- Первый — это узел блокчейна, где будет работать ваш финансовый контракт, когда он будет отправлен кем-то, кто захочет его использовать;
- Другой — ваш настольный компьютер, на котором вы можете написать и протестировать свой контракт локально перед его отправкой.
У контракта нет другого состояния, кроме значения его связанных переменных. Он может читать и записывать данные в реестр, но не может хранить какую-либо информацию локально. Единственный способ изменить результат контракта на основе изменения входных данных — это рекурсия, потому что в Haskell нет циклов или переменных.
Значение каждой связанной переменной появляется в выходных данных транзакции; кроме того, контракт может возвращать список событий для записи в журнале событий блокчейна.
Контракты не могут взаимодействовать с внешними ресурсами за пределами блокчейна, поэтому их гораздо легче проверить и обосновать, чем традиционные смарт-контракты.
Фактически, Haskell уже давно используется для написания важного финансового программного обеспечения, такого как торговая платформа Barclays и терминал Bloomberg.
Причина, по которой Haskell так хорошо подходит для финансового программирования, заключается в том, что он позволяет принципиально создавать большие системы из небольших компонентов. Например, контракты Plutus написаны на подмножестве Haskell — подмножестве, функционально чистом и не имеющем побочных эффектов. Это означает, что вы можете быть уверены, что если вы предоставите своему контракту одни и те же входные данные, он всегда будет давать один и тот же результат.