Kurs Algorand część 1 – Jak skonfigurować środowisko programistyczne dla Algorand?

Paulina Lewandowska

27 wrz 2022
Kurs Algorand część 1 – Jak skonfigurować środowisko programistyczne dla Algorand?

W tym artykule rozpoczynamy Nasz cykl artykułów, które tworzą kurs Algoranda dla początkujących. Z serii artykułów dowiesz się m.in jak skonfigurować środowisko programistyczne dla Algorand, jak zdeployować smart kontrakt na wybranej przez siebie sieci Algorand, jak napisać prosty smart kontrakt oraz  jakich narzędzi i frameworków możesz używać do pracy z blockchainem Algorand.

Algorand to “zielony blockchain” uruchomiony w 2019 roku, którego nadrzędnym celem jest rozwiązanie trylematu blockchainowego przez szybkość transakcji, bezpieczeństwo oraz algorytm konsensusu zapewniający pełną decentralizację sieci.

Spis potrzebnych narzędzi i elementów:

  • Visual Studio Code
  • Python 3.6 lub nowszy
  • Biblioteka pyTeal oraz py-teal-sdk
  • Docker Desktop
  • Algorand Sandbox
  • Skeleton project repository

Instalacja Visual Studio Code

Visual Studio Code będzie Twoim IDE, to z pomocą tego programu będziesz pisać kod aplikacji.

Visual Studio Code (znany jako VS Code) to darmowy i otwarty edytor tekstu od Microsoft. VS Code jest dostępny dla systemów operacyjnych: Windows, Linux i macOS. Chociaż edytor jest stosunkowo lekki, zawiera kilka zaawansowanych funkcji, które uczyniły VS Code jednym z najpopularniejszych narzędzi środowiska programistycznego w ostatnim czasie.

  • Przejdź na stronę https://code.visualstudio.com/download i pobierz plik instalacyjny zgodny z Twoim systemem operacyjnym.
  • Zainstaluj Visual Studio Code na swoim komputerze i przejdź do następnego kroku w tym poradniku.

Instalacja Pythona

Python to uniwersalny, interpretowany język programowania wysokiego poziomu, powszechnie używany do tworzenia witryn internetowych, analizy danych i automatyzacji.

Jednym ze sposobów pisania logiki smart kontraktów dla sieci algorand jest Pythonowa biblioteka pyTeal (https://pyteal.readthedocs.io/en/stable/) pozwalająca na pisanie logiki smart kontraktów w pythonie i kompilowanie kodu do wymaganego przez AVM (Algorand Virtual Machine) kodu TEAL.

TEAL jest składnią języka asemblerowego do określania programu, który jest ostatecznie konwertowany na kod bajtowy AVM (Algorand Virtual Machine).

  • W VS Code przejdź do zakładki “Extensions” służącej do instalowania dodatków do Naszego IDE.
  • W pasku wyszukiwarki wpisz “Python” i zainstaluj Python extension for VS Code.

Następnym krokiem jest zainstalowanie interpretera dla Pythona. Proces ten różni się w zależności od używanego przez Ciebie systemu operacyjnego.

Windows:

  • Pobierz instalator wybranej przez siebie wersji języka z oficjalnej strony Python https://www.python.org/downloads/ następnie przejdź przez standardowy proces instalacji,
  • Alternatywą dla powyższego sposobu jest zainstalowanie Pythona z Microsoft Store, są tam dostępne wszystkie najnowsze wersje pythona.

MacOS:

  • Aby zainstalować interpreter Pythona w systemie MacOS musimy skorzystać z menedżera paczek Homebrew,
  • Jeżeli Homebrew jest już zainstalowany, otwórz wiersz poleceń i wprowadź komendę brew install python3.

W dystrybucjach systemu Linux, interpreter Pythona 3.x jest zainstalowany domyślnie.

Po instalacji Pythona warto sprawdzić, czy wszystko poszło zgodnie z oczekiwaniami. Aby zobaczyć aktualnie zainstalowaną wersję interpretera wprowadź w wierszu poleceń komendę

python -v

Instalacja Docker Desktop

Docker Desktop to łatwa do zainstalowania aplikacja dla środowiska MacOS, Linux oraz Windows, która umożliwia tworzenie i udostępnianie aplikacji kontenerowych i mikrousług.

Docker Desktop jest wymagany przez Algorand sandbox, czyli udostępniony przez twórców Algoranda zestaw narzędzi, który jest, niezbędny do pracy, dla każdego programisty Algorand bez znaczenia na jego poziom zaawansowania. Bez Docker Desktop nie będziesz w stanie uruchomić najważniejszego narzędzia dla deweloperów Algorand.

Pliki instalacyjne dla każdego środowiska dostępne są tutaj .

Po instalacji aplikacja Docker Desktop uruchomi się automatycznie.

Pobieranie Algorand Sandbox

Algorand sandbox to zestaw narzędzi ułatwiających komunikację oraz interakcje z blockchainem algorand. Składowymi sandboxa są m.in indexer, goal oraz algod.

Za pomocą sandboxa możesz uruchomić w trybie sieci betanet, testnet oraz mainnet, tworzyć tokeny, węzły, wykonywać transakcje, tworzyć adresy portfeli, sprawdzać stany kont, czy też deployować Twoje aplikacje na wybranej sieci. 

  • Przejdź na stronę https://github.com/algorand/sandbox i skopiuj link do repozytorium sandboxa
  • Następnie otwórz wiersz poleceń na swoim komputerze, przejdź do wybranej lokalizacji i wprowadź komendę git clone <adres repozytorium>
  • Repozytorium sandboxa zostanie sklonowane na Twój komputer i od razu możesz zacząć go używać

Pobieranie szkieletu repozytorium

Aby odpowiednio łatwo rozpocząć pracę z algorandem, warto skorzystać ze szkieletu projektu, przygotowanego przez zespół developerski Algorand.

Uruchomienie Python (venv)

Python venv to wirtualne środowisko Pythona, w którym zainstalowany w nim interpreter Pythona, biblioteki i skrypty są odizolowane od tych zainstalowanych w innych środowiskach wirtualnych oraz (domyślnie) wszelkich bibliotek zainstalowanych w „systemowym” Pythonie, tj. takim, który jest zainstalowany jako część systemu operacyjnego.

Aby uruchomić wirtualne środowisko Pythona wykonaj kilka prostych kroków:

  • Otwórz pobrany wcześniej szkielet projektu w VS Code oraz uruchom terminal,
  • Upewnij się, że znajdujesz się w głównym katalogu projektu i wprowadź komendę python -m venv venv, środowisko wirtualne pythona zostanie utworzone z nazwą “venv”,
  • Następnie w zależności od używanego przez Ciebie systemu operacyjnego wprowadź kolejną komendę aby aktywować środowisko wirtualne:
  • MacOS: source ./venv/bin/activate
  • Windows: source ./venv/Scripts/activate,
  • Aby upewnić się, że pracujemy na właściwym środowisku wirtualnym, sprawdź czy przed wierszem polecenia w terminalu pojawiła się nazwa Twojego wirtualnego środowiska.

Instalacja dodatkowych bibliotek

W przykładowym projekcie w folderze requirements.txt znajdują się dodatkowe biblioteki, które musisz zainstalować, żeby rozpocząć pisanie kodu Twojej aplikacji przy pomocy biblioteki pyTeal.

PyTeal to biblioteka języka Python do konstruowania smart kontraktów Algorand. Została stworzona jako projekt społecznościowy. Głównym celem tej biblioteki jest sprawienie, aby pisanie umów było jeszcze łatwiejsze i bardziej dostępne dla programistów, którzy preferują programowanie w Pythonie.

  • Aby zainstalować dodatkowe biblioteki do Twojego wirtualnego środowiska musisz umieścić jest w    głównym katalogu projektu w pliku requirements.txt,
  • Najważniejszymi bibliotekami, które wykorzystamy pisząc smart kontrakty do Algoranda są pyTeal oraz py-teal-sdk,
  • Gdy masz już plik requirements.txt wprowadź następującą komendę aby rozpocząć instalację dodatkowych bibliotek , pip install -r ./requirements.txt .

Łączenie projektu z sandboxem

Tworząc swoją aplikację blockchainową po pewnym czasie może pojawić się potrzeba np. zdeployowania jej na wybranej przez siebie sieci. Do tego zadania będziesz potrzebować sandboxa Algorand, ale najpierw musisz w odpowiedni sposób połączyć swój projekt z sandboxem poprzez wskazanie mu m.in lokalizacji Naszego projektu.

W tym celu przejdź do folderu, gdzie znajduje się pobrany przez Ciebie wcześniej Algorand sandbox i postępuj zgodnie z poniższymi instrukcjami:

  • Otwórz plik docker-compose.yml i w sekcji services.algod wprowadź dodatkowy klucz volumes z trzema dodatkowymi parametrami:
  • -type: bind,
  • source: <path do Twojego projektu>,
  • target: /data,
  • przykład na poniższej grafice:

Uruchomienie Algorand sandbox

Aby prowadzić interakcję z blockchainem Algorand z wykorzystaniem sandboxa, musisz najpierw uruchomić kontener sandboxa w aplikacji Docker Desktop.

W tym celu postępuj zgodnie z poniższymi instrukcjami:

  • Otwórz wiersz poleceń na swoim komputerze i przejdź do folderu pobranego wcześniej sandboxa,
  • Następnie wprowadź komendę ./sandbox up aby uruchomić kontener sandboxa i umieścić go w Dockerze,
  • Domyślnie sandbox zostanie uruchomiony z obsługą sieci betanet. Aby uruchomić sandboxa z obsługą innej sieci wprowadź ./sandbox up testnet lub ./sandbox up mainnet.

Podsumowanie

Dzięki wykonaniu wszystkich powyższych kroków, masz gotowe środowisko do rozpoczęcia pracy z biblioteką pyTeal. Możesz teraz rozpocząć pisanie swojego pierwszego smart kontraktu, oraz zdeployować go na wybranej sieci.

W kolejnym artykule przybliżymy Wam napisanie najprostszego smart kontraktu wraz z zdeployowaniem go na sieci Algorand.

Most viewed


Never miss a story

Stay updated about Nextrope news as it happens.

You are subscribed

Co to jest Account Abstraction?

Karolina

10 lis 2023
Co to jest Account Abstraction?

Account abstraction (dosłownie "abstrakcja konta") to nowy sposób myślenia o tym, jak użytkownicy wchodzą w interakcję z blockchainami. Zamiast korzystać z tradycyjnych kont zewnętrznych (EOA), account abstraction pozwala użytkownikom tworzyć i zarządzać swoimi kontami za pomocą smart kontraktów. Ma to wiele potencjalnych korzyści, w tym zwiększone bezpieczeństwo, zwiększoną prywatność i większą elastyczność.

Mini - słowniczek

Co to jest Account Abstraction?

Account Abstraction to koncepcja, która w swej istocie ma na celu uproszczenie interakcji użytkownika z sieciami blockchain. Jest to podejście transformacyjne, które ma na celu ukrycie technicznych aspektów operacji blockchain przed użytkownikami końcowymi. Dzięki temu transakcje stają się tak proste, jak wysłanie wiadomości e-mail. Account Abstr. pozwala użytkownikom na interakcję z blockchainem bez martwienia się o szczegóły techniczne.

Czym różni się Account Abstraction od tradycyjnego sposobu?

W tradycyjnym modelu konta każdy użytkownik posiada EOA. EOA są kontrolowane przez klucze prywatne, które muszą być utrzymywane w tajemnicy w celu ochrony środków użytkownika. Abstrakcja kont pozwala użytkownikom tworzyć konta i zarządzać nimi za pomocą smart kontraktów.

Kontekst Historyczny

Podróż w kierunku abstrakcji kont rozpoczęła się wraz z pierwszą generacją technologii blockchain, charakteryzujących się "uniwersalnym" podejściem do zarządzania kontami. Bitcoin, na przykład, wprowadził koncepcję kont i transakcji w formie, która była dostępna dla osób obeznanych z technologią, ale pozostawała kłopotliwa dla laików. Ethereum rozszerzyło to, wprowadzając smart kontrakty, które otworzyły drzwi do programowalnych transakcji, ale nie zmieniły podstawowej struktury konta. Pomysł abstrakcji konta był omawiany w społeczności Ethereum od kilku lat jako część różnych propozycji ulepszeń Ethereum (EIP), w szczególności jako funkcja, która może zostać potencjalnie wdrożona w Ethereum 2.0. Jest to bezpośrednia odpowiedź na potrzebę bardziej wszechstronnego i zorientowanego na użytkownika projektu, który może zaspokoić szerszą publiczność i pobudzić powszechne przyjęcie technologii blockchain.

Aspekty Techniczne Account Abstraction

Abstrakcja konta nie jest jedynie teoretyczną konstrukcją, ale innowacją techniczną z określonymi mechanizmami leżącymi u podstaw jej działania. Zasadniczo zmienia ona sposób, w jaki transakcje są inicjowane i wykonywane w sieci blockchain.

Jak działa Account Abstraction?

W tradycyjnych modelach blockchain inicjowanie transakcji polega na podpisaniu transakcji przez konto zewnętrzne (EOA) za pomocą klucza prywatnego. Transakcja ta jest następnie transmitowana do sieci w celu walidacji i włączenia do łańcucha bloków. Abstrakcja kont zastępuje jednak ten proces bardziej elastycznym. Tutaj każde konto jest smart kontraktem, a transakcje są wiadomościami wysyłanymi za pośrednictwem tych kontraktów. Te smart kontrakty mogą kodować złożone zasady walidacji transakcji, wykraczające poza to, co mogą zrobić EOA, takie jak wymagania dotyczące wielu podpisów lub transakcje warunkowe oparte na określonych wyzwalaczach.

Techniczne sedno abstrakcji kont leży w zdolności smart kontraktu do definiowania własnych warunków realizacji transakcji. Oznacza to, że konta użytkowników mogą mieć unikalne protokoły bezpieczeństwa lub zautomatyzowane operacje bez konieczności rozumienia przez użytkownika bazowego kodu smart kontraktu.

Jesteś zainteresowany najnowszymi technologiami w obszarze blockchain? Koniecznie przeczytaj artykuł "Top Zero-Knowledge Proof Projects to watch in 2023".

Zalety Account Abstraction

Konsekwencje abstrakcji kont są głębokie, oferując szereg korzyści, które mogą poprawić wrażenia z korzystania z blockchain zarówno dla użytkowników, jak i programistów.

Lepszy UX

Jedną z najważniejszych zalet abstrakcji kont jest poprawa doświadczenia użytkownika. Abstrahując od złożoności zarządzania kluczami i regułami transakcji, zapewnia bardziej intuicyjny interfejs dla użytkowników.

Ulepszone funkcje bezpieczeństwa

Abstrakcja kont pozwala również na wdrożenie zaawansowanych środków bezpieczeństwa. Ponieważ każde konto może zdefiniować własną logikę, użytkownicy mogą dostosować ustawienia zabezpieczeń do swoich konkretnych potrzeb. Na przykład, można skonfigurować konto, które wymaga dodatkowej weryfikacji dla transakcji przekraczających określoną wartość lub ogranicza wypłaty do określonych adresów.

Przyszłe implikacje

Przyszłe implikacje abstrakcji kont są ogromne. W miarę dojrzewania technologii, może ona stać się standardową cechą sieci blockchain, potencjalnie czyniąc obecne rozróżnienie między kontami użytkowników a smart kontraktami nieaktualnym. Może to doprowadzić do nowej fali aplikacji blockchain, które są zarówno potężne, jak i dostępne, przybliżając nas do wizji technologii blockchain jako płynnej części codziennego życia.

Wyzwania

Ograniczenia techniczne

Jednym z głównych wyzwań technicznych abstrakcji konta jest jej integracja z istniejącymi protokołami blockchain. Obecne sieci są zoptymalizowane pod kątem modelu EOA, a wprowadzenie nowej struktury konta wymaga znaczących zmian w podstawowym protokole. Obejmuje to modyfikacje sposobu propagacji transakcji w sieci, sposobu obliczania opłat za gaz oraz zarządzania stanem łańcucha bloków. Zapewnienie, że zmiany te nie wpłyną negatywnie na wydajność lub bezpieczeństwo sieci, wymaga starannego planowania i szeroko zakrojonych testów.

Kompatybilność z obecnymi systemami

Kolejną kwestią jest kompatybilność konta abstr. z rozległym ekosystemem istniejących aplikacji i usług blockchain. Portfele, giełdy i inne usługi zostały zbudowane wokół tradycyjnego modelu konta. Przejście na model abstrakcji konta będzie wymagało od tych usług aktualizacji infrastruktury, co może być złożonym i zasobochłonnym procesem. Ponadto istnieje potrzeba standaryzacji w całej branży, aby zapewnić, że różne implementacje abstrakcji konta mogą ze sobą płynnie współpracować.

Podsumowanie

Abstrakcja konta stanowi znaczący krok naprzód w dążeniu do bardziej przyjaznego dla użytkownika doświadczenia blockchain. Usprawniając proces transakcji i oferując ulepszone funkcje bezpieczeństwa, acc abstraction ma potencjał, aby uczynić technologię blockchain bardziej dostępną dla szerszego grona odbiorców. Jednak droga do szerokiego

Key Takeaways

Najlepsze projekty na Arbitrum w 2023

Karolina

02 paź 2023
Najlepsze projekty na Arbitrum w 2023

Sfera blockchain i kryptowalut jest świadkiem nieustającej fali innowacji. Wśród tych postępów, rozwiązania skalowania warstwy 2 okazały się być przełomowe, szczególnie dla Ethereum. Jednym z takich rozwiązań warstwy 2, które przyciągnęło ogromną uwagę, jest Arbitrum. Dzięki swojej zdolności do ułatwiania skalowalnych inteligentnych kontraktów, stało się ono hotspotem dla nowatorskich projektów kryptowalutowych. W tym artykule omówimy 5 najlepszych projektów kryptowalutowych na Arbitrum w 2023 r., które kształtują przyszłość zdecentralizowanego świata.

Dlaczego projekty na Arbitrum?

Zanim zagłębimy się w listę, ważne jest, aby zrozumieć, co sprawia, że Arbitrum jest atrakcyjną platformą dla programistów i innowatorów.

Skalowalność. Arbitrum znacznie zwiększa przepustowość sieci Ethereum. Pozwala to projektom działać wydajniej i obsługiwać większe wolumeny transakcji.

Kompatybilność. Oferuje płynną kompatybilność z Ethereum, co oznacza, że programiści mogą korzystać z istniejących narzędzi i aplikacji bez większych modyfikacji.

Bezpieczeństwo. Dziedzicząc model bezpieczeństwa Ethereum, Arbitrum zapewnia, że projekty na nim zbudowane są tak samo bezpieczne, jak te na samym Ethereum.

Obniżone opłaty za gaz. Użytkownicy i deweloperzy mogą czerpać korzyści ze zmniejszonych kosztów transakcji, dzięki czemu wdrażanie i interakcja z aplikacjami są bardziej opłacalne.

Najlepsze projekty na Arbitrum w 2023

Podczas odkrywania świata Arbitrum, niektóre projekty wyraźnie wybiły się ponad resztę. Niezależnie od tego, czy chodzi o innowacyjne rozwiązania, zaangażowanie użytkowników czy czystą użyteczność, są to nazwy, które nadają ton przyszłości.

GMX

GMX jest zdecentralizowaną, wieczystą giełdą, która jest głęboko zintegrowana z ekosystemem Arbitrum. Umożliwia ona bezproblemowy handel on-chain dla kilkunastu tokenów, takich jak BTC, ETH, AVAX i UNI. Dzięki błyskawicznemu wzrostowi, GMX jest obecnie najczęściej używaną giełdą DeFi na Arbitrum.

ZyberSwap (ZYB)

Zbudowany na blockchainie Arbitrum, ZyberSwap jest zdecentralizowaną giełdą (DEX), która posiada automatycznego animatora rynku (AMM) i oferuje niskie opłaty za wymianę aktywów kryptograficznych. Jest znana z zapewniania jednych z najbardziej kuszących nagród w całej sieci Arbitrum za staking i yield farming, co czyni ją popularnym wyborem wśród użytkowników DeFi. Platforma jest w całości poświęcona decentralizacji i aktywnemu udziałowi społeczności, a wszystkie istotne zmiany są określane w drodze głosowania zarządczego.

Jeśli chodzi o dystrybucję tokenów, ZyberSwap zdecydował się na uczciwą strategię uruchamiania, aby zapewnić wszystkim użytkownikom równe szanse na uzyskanie tokenów. Ponadto platforma została poddana rygorystycznemu audytowi bezpieczeństwa i jest obsługiwana przez Solidproof. Ta relacja nie tylko zapewnia dostęp do ich wiedzy specjalistycznej, ale także korzysta z bezpłatnych procedur audytu i KYC dla nowych projektów. Podsumowując, ZyberSwap to bezpieczny i zorientowany na użytkownika DEX, który przeciera szlaki w szybko rozwijającym się ekosystemie Arbitrum.

VELA Exchange

Vela Exchange, wysokiej jakości zdecentralizowana giełda na Arbitrum, zapewnia profesjonalną platformę handlową obsługującą wiele kryptowalut. Platforma została stworzona przy użyciu Dexpools, zdecentralizowanego systemu handlu OTC opartego na puli płynności.

Wraz z niedawnym ogłoszeniem wersji Beta, Vela Exchange zyskała na popularności na Arbitrum, osiągając łączny wolumen transakcji w wysokości około 5 miliardów USD. Co imponujące, giełda przyczyniła się do ponad 10% aktywności Layer 2 w łańcuchu. Pokazuje to zaangażowanie i zaufanie społeczności do tej wieczystej wymiany.

Vela zapewnia giełdę, na której klienci mogą ustanawiać pozycje handlowe na aktywach syntetycznych z dźwignią do 100x. Platforma obejmuje stablecoina wspieranego przez USDC.

Camelot

Ze względu na skoncentrowane na ekosystemie i kierowane przez społeczność podejście do zdecentralizowanej wymiany (DEX) i zapewniania płynności, Camelot (GRAIL) jest jednym z najbardziej obiecujących projektów na Arbitrum w 2023 roku. Koncentrując się na komponowalności, Camelot oferuje wysoce wydajną i konfigurowalną platformę z dostosowanym podejściem. Camelot, bogaty w funkcje AMM, oferuje konfiguracje puli unikalnie dostosowane do konkretnych par handlowych. Wdrażając nowe podejście do płynności przy użyciu niezamiennych pozycji stakowanych, dodaje dodatkową warstwę do tradycyjnych tokenów LP i zapewnia więcej korzyści użytkownikom i protokołom.

Bezzezwoleniowy charakter Camelot umożliwia projektom bezpośrednie angażowanie się w protokół, bez konieczności zatwierdzania lub ingerencji ze strony zespołu. Zapewnia to pełną kontrolę nad motywowaniem i zarządzaniem płynnością. Podwójny system tokenów składający się z natywnego płynnego tokena GRAIL i niezbywalnego tokena zarządzania xGRAIL przyczynia się do solidnej kontroli nad przepływem podaży na rynku. Promują one długoterminową stabilność.

Radiant

Radiant Capital, platforma oparta na protokole pożyczkowym Arbitrum, ma na celu przekształcenie się w międzyłańcuchową platformę pożyczkową. Pozwoli to użytkownikom na interakcję z różnymi blockchainami podczas pożyczania i udzielania pożyczek na jednej platformie.

W każdej głównej sieci użytkownicy mogą deponować główne aktywa i pożyczać różnorodne aktywa obsługiwane przez wiele łańcuchów. Głównym celem Radiant jest konsolidacja rozdrobnionej płynności rozproszonej obecnie w 10 największych alternatywnych warstwach.

Obecnie posiadając najwyższy TVL na Arbitrum, Radiant Capital pozycjonuje się jako wiodąca platforma pożyczkowa.

Podsumowanie - Projekty na Arbitrum

Trajektoria wzrostu Arbitrum jest imponująca. Wraz z rosnącym ekosystemem projektów ustanawiających swoją obecność na tym rozwiązaniu warstwy 2, przyszłość wydaje się obiecująca. Wspomniane wyżej projekty to tylko wierzchołek góry lodowej, reprezentujący niewielki ułamek potencjału. Wraz z rozwojem sfery zdecentralizowanych rozwiązań, będą pojawiać się innowacje i możliwości na platformach takich jak Arbitrum.