Jak tworzyć inteligentne kontrakty za pomocą Ergoscript | Ergo Platform
20 lutego 2024

Inteligentne kontrakty są podstawą zdecentralizowanych finansów (DeFi) i stanowią jeden z głównych elementów użyteczności technologii blockchain. Zanim omówimy kilka aspektów inteligentnych kontraktów na Ergo, porozmawiajmy o tym, czym jest inteligentny kontrakt.
Czym jest inteligentny kontrakt?
Inteligentny kontrakt to samodzielnie wykonujący się fragment kodu, który zazwyczaj znajduje się na blockchainie. Inteligentny kontrakt automatycznie egzekwuje z góry określone warunki umowy, gdy spełnione są określone warunki. Działa bez pośredników i wykorzystuje kod do przejrzystego i bezpiecznego wykonywania określonych działań. Niektóre z tych działań mogą obejmować zakup NFT, transfer monet i tokenów, lub pożyczanie lub udzielanie pożyczek aktywów.
Inteligentne kontrakty Ergo są jedną z wielu cech, które wyróżniają go spośród innych kryptowalut. Przyjrzyjmy się, dlaczego inteligentne kontrakty Ergo są tak wyjątkowe.
Zrozumienie ErgoScript
Ergo używa języka programowania, ErgoScript, który oparty jest na Scali. Dokumentacja Ergo stwierdza, że ErgoScript jest uproszczoną formą Scali, która służy jako język wysokiego poziomu tłumaczony na ErgoTree, który z kolei jest językiem niskiego poziomu dalej tłumaczonym na protokół kryptograficzny podczas wykonywania. Taki projekt umożliwia Ergo wspieranie różnych protokołów kryptograficznych, w tym podpisów pierścieniowych i progowych. W przeciwieństwie do Bitcoina, ErgoScript umożliwia tworzenie złożonych kontraktów finansowych poprzez włączenie samoreplikacji, co pozwala na tworzenie procesów Turing-Complete na blockchainie, jednocześnie zachowując zasady bezpieczeństwa i prywatności Bitcoina. W istocie ErgoScript ułatwia budowanie bezpiecznych, złożonych dAppów, zachowując jednocześnie możliwości prywatności.
Wymagania wstępne do tworzenia inteligentnych kontraktów
Z uwagi na to, że Ergo jest blockchainem eUTXO i ma własny język programowania, nowi deweloperzy muszą najpierw zapoznać się z kilkoma cechami Ergo przed tworzeniem inteligentnych kontraktów. Jedną z tych cech jest koncepcja „pudełek.” W Ergoscript 'pudełko' to elastyczna wersja UTXO. Służy nie tylko jako nośnik kryptowaluty powiązanej z adresem, ale także zawiera 'rejestry' dla dodatkowych danych. Te dane mogą się różnić od podstawowych wartości po złożone struktury, które są użyteczne w transakcjach i wykonywaniu inteligentnych kontraktów. To rozróżnienie wyróżnia pudełko Ergo na tle typowego UTXO, które jedynie oznacza nieprzeznaczoną do wydania ilość kryptowaluty powiązanej z określonym adresem. W kryptowalutach opartych na UTXO transakcje wykorzystują istniejące UTXO jako wejścia i generują nowe jako wyjścia, a nieprzeznaczone wyjścia reprezentują monety dostępne do wydania w przyszłych transakcjach.
Kolejnym ważnym aspektem kodowania, który nowi deweloperzy muszą znać, jest ogólne zrozumienie Opisu Języka ErgoScript. Ten link pomoże nowym deweloperom rozpocząć. Poniżej znajduje się obrazek przedstawiający niektóre aspekty Ergoscript, z którymi użytkownik może się zapoznać.

Jak mogę stworzyć inteligentny kontrakt używając ErgoScript?
Pierwszym krokiem do nauki kodowania inteligentnych kontraktów na Ergo jest zapoznanie się z ErgoScript. Ważne jest, aby ponownie zauważyć, że Ergo używa modelu UTXO, który jest dość różny od tradycyjnego modelu konta. Doskonałym przykładem tego, jak model eUTXO pasuje do inteligentnych kontraktów, jest dokumentacja Ergo tutaj. Na przykład, w przypadku eUTXO, stworzenie inteligentnego kontraktu polega na wyznaczeniu wyjścia transakcji jako kontraktu. Na przykład, możesz chcieć zapłacić 10 cyfrowych monet swojemu przyjacielowi, jeśli temperatura osiągnie 90 stopni Fahrenheita. Jest to reprezentowane jako stos w cyfrowej skarbonce, dołączony do skryptu określającego warunek wydania. Jeśli warunek zostanie spełniony, twój przyjaciel może wydać pieniądze z dowodem spełnienia warunku. W przeciwnym razie środki pozostają w stosie, który byłby widoczny dla wszystkich uczestników.
Inteligentne kontrakty mogą być skomplikowane i przytłaczające zarówno dla początkujących, jak i zaawansowanych deweloperów. Na szczęście ekosystem Ergo oferuje mnóstwo zasobów pokazujących zarówno jak uczyć się Ergoscript, jak i jak kodować inteligentne kontrakty. Ten zasób w szczególności prowadzi użytkownika do „Ergo Playground”, w którym mogą eksperymentować z różnymi trudnościami inteligentnych kontraktów. Ten film autorstwa Roberta Kornackiego przeprowadza cię przez początkowe etapy tworzenia inteligentnego kontraktu z kontraktem blokady PIN.

Kornacki stwierdza, że „To jest prosty inteligentny kontrakt, który blokuje zdeponowane środki pod numerem PIN. Gdy numer PIN jest początkowo podawany przez użytkownika, jest haszowany poza łańcuchem, a sam hash jest przechowywany w łańcuchu.
Gdy użytkownik chce wypłacić swoje środki (wydać UTXO zablokowane pod tym kontraktem), składa transakcję wypłaty z rzeczywistym numerem PIN w rejestrze wyjściowego UTXO. Kontrakt następnie wykonuje i sprawdza, że gdy nowo podany numer PIN zostaje zhaszowany, jest równy oryginalnemu haszowi przechowywanemu w rejestrze pudełka zablokowanego przez kontrakt. Jeśli są równe, kontrakt jest ważny, a transakcja jest akceptowana jako ważna i dodawana do historii blockchaina.
Należy zauważyć, że ten kontrakt jest czysto przeznaczony do użycia jako przykład edukacyjny. Jest całkowicie niebezpieczny i nigdy nie powinien być używany w łańcuchu. Złe podmioty mogą skanować mempool, aby znaleźć numer PIN, gdy transakcja wypłaty jest publikowana, a następnie wyprzedzić, publikując transakcję z wyższą opłatą transakcyjną + tym samym numerem PIN, kradnąc w ten sposób twoje zablokowane środki. Mimo to, jest to świetny prosty kontrakt, aby zacząć.”
To świetny inteligentny kontrakt, aby pobawić się na początkowych etapach rozwoju Ergo. Może to pomóc nowym deweloperom przyzwyczaić się do pracy z Ergoscript. Nowi deweloperzy mogą skorzystać z tego linku, aby przejść bezpośrednio do Ergo Playground z kodem już zaimportowanym dla nich. Jeszcze raz, ten kod jest niebezpieczny i powinien być używany tylko do celów edukacyjnych.
Przyszłość inteligentnych kontraktów
Przyszłość inteligentnych kontraktów reprezentuje nieskończone możliwości zakłócania tradycyjnego systemu finansowego i zastępowania go bezpiecznymi i przejrzystymi założeniami. Inteligentne kontrakty zmniejszają potrzebę dokumentacji prawnej, prawników i zaufanych transakcji. Inteligentne kontrakty są również natychmiastowe i znacznie bardziej efektywne, co pozwoli firmom, przedsiębiorstwom i przedsiębiorcom osiągnąć więcej w znacznie krótszym czasie. Kilka potencjalnych wad inteligentnych kontraktów polega na tym, że są one zazwyczaj nieodwracalne i mogą posiadać potencjalne luki w kodzie, które mogą prowadzić do utraty funduszy użytkowników. Dlatego bezpieczny kod jest tak istotny przy tworzeniu inteligentnych kontraktów. To także jeden z powodów, dla których ErgoScript jest tak potężny. Jest to niezwykle bezpieczny język kodowania, gdy jest poprawnie wykonywany.
Podsumowanie
ErgoScript jest ostatecznie językiem kodowania, który wyróżnia się dzięki temu, że pozwala na tworzenie dynamicznych i bezpiecznych inteligentnych kontraktów na Ergo. Umożliwia deweloperom tworzenie złożonych i wyrafinowanych dAppów, jednocześnie będąc znacznie łatwiejszym w budowie niż wiele innych języków kodowania. Otwartoźródłowy charakter Ergo również usprawnia proces dla deweloperów, aby zrealizować swoją wizję i stworzyć coś wyjątkowego.
Dla deweloperów, którzy chcą albo zacząć przygodę z ErgoScript i inteligentnymi kontraktami, albo pragną bardziej zaawansowanej wiedzy na temat inteligentnych kontraktów, prosimy o zapoznanie się z dokumentacją poniżej. Discord Ergo ma również sekcję #development, w której podobnie myślący deweloperzy mogą wchodzić w interakcje i uczyć się o ErgoScript na głębszym poziomie.
Przydatne linki
- Ucz się ErgoScript za pomocą wideo tutorialu Ergo Playground
- Kontrakt blokady PIN
- Ergo Playground
- ErgoScript
- Pudełka
- Opis Języka ErgoScript
- eUTXO, Pudełka, Adresy
- Różne poziomy inteligentnych kontraktów
- Jak działają kontrakty UTXO?
- Biała księga ErgoScript
- Transakcje wieloetapowe i inteligentne kontrakty
Share post
13 sierpnia 2025
12 maja 2025






