Smart contracts to inaczej kontrakty inteligentne. Są to umowy cyfrowe, które funkcjonują w formie aplikacji samoobsługowych. Czy brzmi to abstrakcyjnie? Warto przybliżyć nieco ten temat.

Smart contract – co to jest oraz jak działa?

Umowy inteligentne to aplikacje, które po spełnieniu warunków określonych pozwalają na wykonanie danego kody przy użyciu właśnie EVM oraz zwrócenie rezultatów przez nas oczekiwanych. Aby to lepiej zobrazować, powinniśmy się posłużyć jednym z bardzo prostych przykładów.

Działają one w oparciu o zasadę bardzo prostą. Chodzi o to jeśli się zdarzy X, to wykonać należy Y.

Smart kontraktu działają bardzo podobnie jak umowy zwykłe. Krokiem pierwszym, który prowadzi do powstania ich jest ustalenie pomiędzy stronami umowy. Później wszelkie warunki są wpisywane. Szczegółowy sposób wykonywania kontraktów zostanie opisany poniżej.

Gdzie wykorzystać można smart kontrakty?

Czasy, w których będziemy mogli w pełni z tego korzystać, co nam mają do zaoferowania smart kontrakty, dopiero z pewnością przed nami. Wkraczają one jak na razie w rzeczywistość powoli. Szczególnie ze względu na samą konieczność ich dostosowania oraz także modyfikacji wielu prawnych norm czy też systemów. Poza tym kontrakty inteligentne w świadomości powszechnej kojarzą się wielu osobom z podejrzanym kryptowalutami.

Smart kontrakty wykorzystywane mogą być na wielu polach. Można tutaj wyróżnić:

– walkę z podróbkami,

– handel skradzionymi dobrami cyfrowymi,

– płatności w e-commerce,

– ochronę zdrowia,

– sektor nieruchomości,

– automatyzację zamówień.

Jak powinniśmy uruchomić prywatną sieć?

Do uruchomienia sieci potrzebny będzie klient. W przypadku tym jest to geth. Klient zostać może pobrany bezpośrednio z samej strony Geth & Tools.

Aby uruchomić sieć, to należy wygenerować identyfikator klienta koniecznie w sieci P2P. Używamy do tego celu narzędzie bootnode.

W kolejnym kroku generujemy portfel swój, który używany będzie do przeprowadzenia transakcji.

Najpierw oczywiście możemy wygenerować kontro i do adresu danego przypisać kwotę odpowiednią przyznaną na samym starcie. Jeśli nie zrobimy tego, to musimy rozpocząć sam proces kopania, aby środki uzyskać.

Kolejny krok – inicjalizacja sieci

Gdy nasza prywatna sieć jest już gotowa, to krokiem następnym będzie stworzenie właśnie Smart Kontraktu. Przykładem najprostszy będzie kontrakt, który nam zwróci “Hello World”. Aby tę operację wykonać, napisać musimy kontrakt czy też go odpowiednio skompilować.

Po samej kompilacji należy go wgrać do sieci. Tworzy ona binarny kod oraz opis aplikacji. ABI wymagane jest do wykonania operacji bezpośrednio na naszym Smart Kontrakcie.

Aby wykonać kompilację należy zainstalować kompilator. Kolejny krok to wygenerowanie kodu binarnego oraz także interfejs binarny.

Krok kolejny to już wgranie skomplikowanego naszego kontraktu do sieci. Aby to zrobić potrzebny nam będzie mały kod JavaScript, w nim zdefiniujemy nasz binarny interfejs oraz także kod binarny.

Na samym początku nasz tekst należy definiować. Tekst ten będzie w zasadzie od razu zapisany w sieci (podczas samego wysyłania kontraktu bezpośrednio do sieci). Jeśli chodzi o funkcję showText to po wykonaniu powinna zwrócić zdefiniowany powyżej tekst Hello World.

Następnie w samej konsoli klienta należy uruchomić kolejne polecenie.

Należy jednak zwrócić uwagę w tym miejscu. Jeśli stworzyliśmy konto z hasłem, to musimy je wcześniej odblokować. Do tego używamy konkretnego polecenia. Parametr ostatni oznacza nic innego jak to, że odblokować chcemy nasze kontro na nieokreślony czas. Oczywiście możemy jak najbardziej podać tam inną zupełnie wartość.

Po chwili klient wyświetlić powinien komunikat. Jest to komunikat o tym, że kontrakt nasz został wykopany. Co więcej musi także podać nam jego dokładny adres. Konieczny jest także sam numer transakcji, w której sam kontrakt został tak naprawdę wykopany.

Wykonanie kody

Po wysłaniu pomyślnym kodu właśnie do sieci, będzie go mogli wykonać. Aby to zrobić, w samej konsoli klienta wskazać musimy adres oraz także podać dokładne ABI kontraktu naszego.

W kroku kolejnym powinniśmy wykonać odwołanie do funkcji naszej, która nam zwraca nasz wynik oczekiwany.

Smart Kontrakty w zasadzie na samym początku przygody naszej wydawać się mogą nieco skomplikowane. Programista, który chce zacząć programowanie swoich kontraktów na pewno będzie musiał zrozumieć nieco innego podejście. Chodzi o takie podejście, w którym w zasadzie każda z operacji (w tym także w przypadku transakcji) nie jest natychmiast wykonywana. Natomiast sam odczyt danych bezpośrednio z kontraktu jest bardzo szybki. Jednak pamiętajmy, że modyfikacja sieci wymaga od nas oczekiwania na wykonanie bloku jak i tak także otrzymania kilku dosadnych potwierdzeń. Dodatkowo należy w mniejszym czy też w większym stopniu zrozumieć sam sposób działania sieci Ethereum. Mając jednak już tą wiedzą, to reszta się staje o wiele, wiele prostsza. Powinniśmy jak najbardziej mieć to na uwadze.

Author

Write A Comment