Ethereum — це новаторська технологія, яка служить основою для нового типу Інтернету, відомого як децентралізований Інтернет. Ethereum, створений Віталіком Бутеріним, є платформою з відкритим вихідним кодом, заснованою на блокчейні, яка дозволяє розробникам створювати та розгортати децентралізовані програми, або dApps. Використання смарт-контрактів Ethereum дозволяє dApps працювати точно за планом, без простоїв, цензури, шахрайства чи втручання третіх сторін.
Докладніше: Що таке Ethereum?
Ефір (ETH) — рідна криптовалюта Ethereum, яка використовує мову програмування Solidity. Фундаментальна технологія Ethereum, блокчейн, є розподіленою книгою, яка зберігає постійний, захищений від підробки список записів. Ця децентралізована архітектура дозволяє розробникам створювати різноманітний набір децентралізованих програм (dApps), використовуючи потужну екосистему та адаптивність платформи.
Розумні контракти — це самовиконувані контракти з умовами угоди, записаними безпосередньо в рядки коду. Вони є основними будівельними блоками dApps на Ethereum. Ці цифрові контракти автоматично виконують транзакції та переміщують рідну валюту Ethereum, Ether, між обліковими записами, коли виконуються умови, визначені в контракті. Така автоматизація усуває потребу в посередниках, значно підвищуючи ефективність і надійність процесу. Оскільки невеликі комп’ютерні програми зберігаються в блокчейні, смарт-контракти розроблені для автоматичного виконання своїх умов, що забезпечує новий рівень автоматизації та точності цифрових угод.
Докладніше: Що таке розумні контракти?
Як ми обговорювали в одному з наших попередніх курсів тут: Курс: Смарт-контракти 101: базовий вступ, є кілька ключових переваг смарт-контрактів, які роблять їх революційною концепцією в цифровому світі:
Усунення посередників: смарт-контракти усувають потребу в посередниках, що призводить до більш рентабельних транзакцій.
Децентралізація: будуючи смарт-контракти на основі блокчейнів, можна створювати децентралізовані платформи, зменшуючи залежність від єдиної централізованої організації.
Легка та доступна розробка: такі платформи, як Ethereum, надають розробникам інфраструктури необхідну для легкого та недорого створення програм на основі транзакцій.
Покращена безпека та прозорість: оскільки розумні контракти написані в коді, транзакції незворотні та їх можна відстежувати, що забезпечує більшу прозорість та безпеку.
Самозабезпечення: смарт-контракти самозабезпечуються, створюючи недовірливе середовище для здійснення транзакцій з будь-ким у світі.
Найпоширенішою мовою для написання смарт-контрактів на Ethereum є Solidity. Під впливом JavaScript, Python і C++ Solidity — це статично типізована мова, розроблена для розробки смарт-контрактів Ethereum. Він багатофункціональний, зрілий і має потужну підтримку спільноти, що робить його першим вибором для багатьох розробників Ethereum.
У той час як Solidity займає центр уваги в розробці Ethereum, альтернативна мова під назвою Vyper забезпечує унікальну та цінну перспективу. Vyper — це орієнтована на безпеку, спрощена мова Pythonic, розроблена для написання смарт-контрактів в Ethereum. На відміну від Solidity, Vyper вирішує відмовитися від певних функцій, щоб забезпечити вищий рівень безпеки та легше зрозуміти контракти.
Незважаючи на популярність Solidity, прихильність Vyper до безпеки та читабельності робить його привабливим вибором для багатьох розробників. Він пропонує більш доступний синтаксис для тих, хто знайомий з Python, що робить його чудовою відправною точкою для розробників Python, які хочуть увійти у світ dApps Ethereum.
Щоб краще зрозуміти Solidity та Vyper, давайте порівняємо дві мови на основі різних параметрів, таких як синтаксис, крива навчання, розмір масивів і рядків, підтримка спільноти, угода та обробка помилок, визначення змінних, створення аукціонів, специфікації функцій , процеси вилучення та розірвання контракту.
Оскільки Solidity та Vyper є мовами високого рівня, їх синтаксис простий. Тим не менш, синтаксис Solidity більше схожий на такі широко використовувані мови, як C++ і JavaScript, що може полегшити роботу деяким розробникам. Vyper, з іншого боку, схожий на Python із синтаксисом, який впізнають користувачі Python.
Оскільки Solidity є більш популярною мовою, вона містить більше документації та навчальних матеріалів, які можуть допомогти в процесі навчання. Vyper, з іншого боку, є новішим і має менше навчальних матеріалів. Його простіша форма та схожість з Python, з іншого боку, роблять його легкою для вивчення розробникам, які вже знайомі з Python.
Solidity забезпечує динамічне масштабування рядків і масивів, дозволяючи розробникам змінювати довжину рядка відповідно до своїх потреб. Vyper, з іншого боку, обмежує розмір масивів і рядків, щоб зменшити потенційну вразливість у смарт-контрактах.
Широке використання Solidity призвело до процвітаючої спільноти розробників, спеціалістів та ентузіастів. Вайпер, як нова мова, не має такої великої спільноти. Але в міру розвитку підтримка громади, швидше за все, зростатиме.
Контракти в Solidity можна визначити за допомогою таких інструментів, як Brownie і VSCode. Під час створення контракту Vyper просто вимагає вказати версію Vyper, яка використовується. Крім того, Vyper забезпечує миттєве виявлення друкарських помилок, що спрощує налагодження, тоді як Solidity вимагає компіляції контрактів, перш ніж можна буде помітити помилки.
Визначення змінної у Vyper просте і нагадує мову програмування високого рівня. Solidity, з іншого боку, використовує більш складний підхід до оголошення змінних. Крім того, Solidity вимагає використання крапки з комою, що додає ще один рівень ускладнень.
Створення аукціонів у Vyper - це простий процес. Це дозволяє зовнішнім декораторам, що дозволяє іншим контрактам викликати його. Solidity, з іншого боку, вимагає більш складної обробки, включаючи визначення потенційних помилок і використання операторів if.
Функції Vyper можуть бути оформлені зовнішнім декоратором, що дозволяє їм приймати платежі за транзакції. З іншого боку, солідність вимагає проходження зовнішньої та платної частин у функції. Крім того, Solidity використовує оператори if, тоді як Vyper використовує оператори assert.
На відміну від Solidity, процес виведення коштів у Vyper простіший. Solidity вимагає визначення суми та створення операторів «якщо», тоді як Vyper використовує більш простий метод.
Vyper перевіряє час за допомогою 'assert', але Solidity вимагає оператор 'if' перед тим, як встановити для кінцевої змінної значення "True". Крім того, на відміну від Vyper, Solidity вимагає емісії закінчення аукціону і перерахування готівки.
Перш ніж почати кодувати у Vyper, вам потрібно переконатися, що ваш комп’ютер готовий до розробки. Ось що вам потрібно зробити:
Встановіть Python: Vyper вимагає Python 3.6 або новішої версії. Ви можете завантажити Python з офіційного сайту. Дотримуйтесь інструкцій, щоб установити його на свій комп’ютер. Ви можете перевірити встановлення, ввівшиpython --version
у вашому терміналі. Ви повинні побачити версію Python, яку ви встановили.
Встановіть Pip: Pip — це менеджер пакетів для Python. Він використовується для встановлення та керування додатковими пакетами, які не є частиною стандартної бібліотеки Python. Pip має бути встановлено автоматично під час інсталяції Python. Ви можете перевірити встановлення, ввівши pip --version
у вашому терміналі. Якщо він не встановлений, ви можете завантажити його з офіційного веб-сайту Pip і дотримуйтесь інструкцій.
Коли ваше середовище буде готове, ви можете встановити Vyper. Відкрийте термінал і виконайте таку команду:
Python
pip3 встановити vyper
Ви бачите, що в кінці коду термінал пропонує нам оновити pip, ввівши команду:
Python
python.exe -m pip install --upgrade pip
Виконайте цю команду, щоб мати останню доступну версію pip. Ви повинні побачити таке повідомлення після встановлення оновленої версії
Після завершення встановлення ви можете перевірити версію Vyper, запустивши vyper --version
. Ви повинні побачити версію Vyper, яку ви встановили.
Хоча ви можете писати код Vyper у будь-якому текстовому редакторі, використання інтегрованого середовища розробки (IDE) може значно полегшити вашу роботу. Ось два варіанти для вас:
Remix: Remix — це IDE на основі браузера, наданий Ethereum. Він підтримує як Solidity, так і Vyper і пропонує такі функції, як вбудований компілятор, надійний налагоджувач і середовище тестування. Ви можете почати використовувати Remix, перейшовши на офіційний веб-сайт Remix. Установка не потрібна. (Ми будемо використовувати цю опцію під час нашого курсу)
Brownie: Brownie — це середовище розробки на основі Python і платформа тестування для Ethereum. Він підтримує як Solidity, так і Vyper. Однією з ключових переваг Brownie є те, що він дозволяє писати тести на Python, мові, з якою вже знайомі багато розробників. Щоб інсталювати Brownie, відкрийте термінал і запустіть pip3 install eth-brownie
. Це займе кілька хвилин, і буде встановлено багато бібліотек і пакетів.
Ethereum — це новаторська технологія, яка служить основою для нового типу Інтернету, відомого як децентралізований Інтернет. Ethereum, створений Віталіком Бутеріним, є платформою з відкритим вихідним кодом, заснованою на блокчейні, яка дозволяє розробникам створювати та розгортати децентралізовані програми, або dApps. Використання смарт-контрактів Ethereum дозволяє dApps працювати точно за планом, без простоїв, цензури, шахрайства чи втручання третіх сторін.
Докладніше: Що таке Ethereum?
Ефір (ETH) — рідна криптовалюта Ethereum, яка використовує мову програмування Solidity. Фундаментальна технологія Ethereum, блокчейн, є розподіленою книгою, яка зберігає постійний, захищений від підробки список записів. Ця децентралізована архітектура дозволяє розробникам створювати різноманітний набір децентралізованих програм (dApps), використовуючи потужну екосистему та адаптивність платформи.
Розумні контракти — це самовиконувані контракти з умовами угоди, записаними безпосередньо в рядки коду. Вони є основними будівельними блоками dApps на Ethereum. Ці цифрові контракти автоматично виконують транзакції та переміщують рідну валюту Ethereum, Ether, між обліковими записами, коли виконуються умови, визначені в контракті. Така автоматизація усуває потребу в посередниках, значно підвищуючи ефективність і надійність процесу. Оскільки невеликі комп’ютерні програми зберігаються в блокчейні, смарт-контракти розроблені для автоматичного виконання своїх умов, що забезпечує новий рівень автоматизації та точності цифрових угод.
Докладніше: Що таке розумні контракти?
Як ми обговорювали в одному з наших попередніх курсів тут: Курс: Смарт-контракти 101: базовий вступ, є кілька ключових переваг смарт-контрактів, які роблять їх революційною концепцією в цифровому світі:
Усунення посередників: смарт-контракти усувають потребу в посередниках, що призводить до більш рентабельних транзакцій.
Децентралізація: будуючи смарт-контракти на основі блокчейнів, можна створювати децентралізовані платформи, зменшуючи залежність від єдиної централізованої організації.
Легка та доступна розробка: такі платформи, як Ethereum, надають розробникам інфраструктури необхідну для легкого та недорого створення програм на основі транзакцій.
Покращена безпека та прозорість: оскільки розумні контракти написані в коді, транзакції незворотні та їх можна відстежувати, що забезпечує більшу прозорість та безпеку.
Самозабезпечення: смарт-контракти самозабезпечуються, створюючи недовірливе середовище для здійснення транзакцій з будь-ким у світі.
Найпоширенішою мовою для написання смарт-контрактів на Ethereum є Solidity. Під впливом JavaScript, Python і C++ Solidity — це статично типізована мова, розроблена для розробки смарт-контрактів Ethereum. Він багатофункціональний, зрілий і має потужну підтримку спільноти, що робить його першим вибором для багатьох розробників Ethereum.
У той час як Solidity займає центр уваги в розробці Ethereum, альтернативна мова під назвою Vyper забезпечує унікальну та цінну перспективу. Vyper — це орієнтована на безпеку, спрощена мова Pythonic, розроблена для написання смарт-контрактів в Ethereum. На відміну від Solidity, Vyper вирішує відмовитися від певних функцій, щоб забезпечити вищий рівень безпеки та легше зрозуміти контракти.
Незважаючи на популярність Solidity, прихильність Vyper до безпеки та читабельності робить його привабливим вибором для багатьох розробників. Він пропонує більш доступний синтаксис для тих, хто знайомий з Python, що робить його чудовою відправною точкою для розробників Python, які хочуть увійти у світ dApps Ethereum.
Щоб краще зрозуміти Solidity та Vyper, давайте порівняємо дві мови на основі різних параметрів, таких як синтаксис, крива навчання, розмір масивів і рядків, підтримка спільноти, угода та обробка помилок, визначення змінних, створення аукціонів, специфікації функцій , процеси вилучення та розірвання контракту.
Оскільки Solidity та Vyper є мовами високого рівня, їх синтаксис простий. Тим не менш, синтаксис Solidity більше схожий на такі широко використовувані мови, як C++ і JavaScript, що може полегшити роботу деяким розробникам. Vyper, з іншого боку, схожий на Python із синтаксисом, який впізнають користувачі Python.
Оскільки Solidity є більш популярною мовою, вона містить більше документації та навчальних матеріалів, які можуть допомогти в процесі навчання. Vyper, з іншого боку, є новішим і має менше навчальних матеріалів. Його простіша форма та схожість з Python, з іншого боку, роблять його легкою для вивчення розробникам, які вже знайомі з Python.
Solidity забезпечує динамічне масштабування рядків і масивів, дозволяючи розробникам змінювати довжину рядка відповідно до своїх потреб. Vyper, з іншого боку, обмежує розмір масивів і рядків, щоб зменшити потенційну вразливість у смарт-контрактах.
Широке використання Solidity призвело до процвітаючої спільноти розробників, спеціалістів та ентузіастів. Вайпер, як нова мова, не має такої великої спільноти. Але в міру розвитку підтримка громади, швидше за все, зростатиме.
Контракти в Solidity можна визначити за допомогою таких інструментів, як Brownie і VSCode. Під час створення контракту Vyper просто вимагає вказати версію Vyper, яка використовується. Крім того, Vyper забезпечує миттєве виявлення друкарських помилок, що спрощує налагодження, тоді як Solidity вимагає компіляції контрактів, перш ніж можна буде помітити помилки.
Визначення змінної у Vyper просте і нагадує мову програмування високого рівня. Solidity, з іншого боку, використовує більш складний підхід до оголошення змінних. Крім того, Solidity вимагає використання крапки з комою, що додає ще один рівень ускладнень.
Створення аукціонів у Vyper - це простий процес. Це дозволяє зовнішнім декораторам, що дозволяє іншим контрактам викликати його. Solidity, з іншого боку, вимагає більш складної обробки, включаючи визначення потенційних помилок і використання операторів if.
Функції Vyper можуть бути оформлені зовнішнім декоратором, що дозволяє їм приймати платежі за транзакції. З іншого боку, солідність вимагає проходження зовнішньої та платної частин у функції. Крім того, Solidity використовує оператори if, тоді як Vyper використовує оператори assert.
На відміну від Solidity, процес виведення коштів у Vyper простіший. Solidity вимагає визначення суми та створення операторів «якщо», тоді як Vyper використовує більш простий метод.
Vyper перевіряє час за допомогою 'assert', але Solidity вимагає оператор 'if' перед тим, як встановити для кінцевої змінної значення "True". Крім того, на відміну від Vyper, Solidity вимагає емісії закінчення аукціону і перерахування готівки.
Перш ніж почати кодувати у Vyper, вам потрібно переконатися, що ваш комп’ютер готовий до розробки. Ось що вам потрібно зробити:
Встановіть Python: Vyper вимагає Python 3.6 або новішої версії. Ви можете завантажити Python з офіційного сайту. Дотримуйтесь інструкцій, щоб установити його на свій комп’ютер. Ви можете перевірити встановлення, ввівшиpython --version
у вашому терміналі. Ви повинні побачити версію Python, яку ви встановили.
Встановіть Pip: Pip — це менеджер пакетів для Python. Він використовується для встановлення та керування додатковими пакетами, які не є частиною стандартної бібліотеки Python. Pip має бути встановлено автоматично під час інсталяції Python. Ви можете перевірити встановлення, ввівши pip --version
у вашому терміналі. Якщо він не встановлений, ви можете завантажити його з офіційного веб-сайту Pip і дотримуйтесь інструкцій.
Коли ваше середовище буде готове, ви можете встановити Vyper. Відкрийте термінал і виконайте таку команду:
Python
pip3 встановити vyper
Ви бачите, що в кінці коду термінал пропонує нам оновити pip, ввівши команду:
Python
python.exe -m pip install --upgrade pip
Виконайте цю команду, щоб мати останню доступну версію pip. Ви повинні побачити таке повідомлення після встановлення оновленої версії
Після завершення встановлення ви можете перевірити версію Vyper, запустивши vyper --version
. Ви повинні побачити версію Vyper, яку ви встановили.
Хоча ви можете писати код Vyper у будь-якому текстовому редакторі, використання інтегрованого середовища розробки (IDE) може значно полегшити вашу роботу. Ось два варіанти для вас:
Remix: Remix — це IDE на основі браузера, наданий Ethereum. Він підтримує як Solidity, так і Vyper і пропонує такі функції, як вбудований компілятор, надійний налагоджувач і середовище тестування. Ви можете почати використовувати Remix, перейшовши на офіційний веб-сайт Remix. Установка не потрібна. (Ми будемо використовувати цю опцію під час нашого курсу)
Brownie: Brownie — це середовище розробки на основі Python і платформа тестування для Ethereum. Він підтримує як Solidity, так і Vyper. Однією з ключових переваг Brownie є те, що він дозволяє писати тести на Python, мові, з якою вже знайомі багато розробників. Щоб інсталювати Brownie, відкрийте термінал і запустіть pip3 install eth-brownie
. Це займе кілька хвилин, і буде встановлено багато бібліотек і пакетів.