Что такое трюфельный люкс? Особенности, Как установить, Как запустить смарт-контракты
Опубликовано: 2020-03-24В первые дни, когда Blockchain только начал свое путешествие в область основных технологий, вам приходилось разрабатывать смарт-контракты с использованием языка программирования Solidity и развертывать их, вызывая функции geth или solc.
Чтобы немного упростить этот процесс, вам пришлось написать bash-скрипты, которые сначала скомпилируют, а затем развернут контракт. Теперь, хотя последний подход был лучше первого, он был довольно рудиментарным, учитывая, что сценарии bash часто влекут за собой отсутствие стандартизации.
Именно эта потребность в создании бесшовной и оптимальной среды разработки и тестирования смарт-контрактов на блокчейне породила Truffle Etheruem.
Изучите онлайн-курс по разработке программного обеспечения от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Оглавление
Что такое трюфельный люкс?
Согласно Truffle Suite , Truffle — это «среда разработки мирового класса, среда тестирования и конвейер активов для блокчейнов с использованием виртуальной машины Ethereum (EVM), призванная облегчить жизнь разработчика».
Проще говоря, Truffle — это среда разработки, среда тестирования и конвейер ресурсов в одном лице. Он основан на блокчейне Ethereum и предназначен для облегчения плавной и беспрепятственной разработки DApps (распределенных приложений). С Truffle вы можете компилировать и развертывать смарт-контракты, внедрять их в веб-приложения, а также разрабатывать интерфейс для DApps. Сегодня Truffle — одна из наиболее широко используемых IDE для блокчейна Ethereum.

Truffle Suite состоит из трех основных элементов:
- Truffle — реальная среда разработки, объединяющая компиляцию, тестирование и развертывание смарт-контрактов.
- Ganache — это локально развернутый симулятор блокчейна. Ganache имеет графический пользовательский интерфейс, который может имитировать сети Blockchain и тестировать смарт-контракты в реальном времени, не требуя от вас настройки реальных тестовых сетей или использования удаленной сети.
- Drizzle — это набор интерфейсных библиотек, которые предлагают полезные компоненты для разработки веб-приложений, которые могут легко подключаться к смарт-контрактам.
Читайте: Как стать разработчиком блокчейна — руководство для начинающих
Каковы особенности трюфеля?
Особенности, которые делают Truffle Etheruem одной из наиболее широко используемых IDE для блокчейна Ethereum:
- Он имеет встроенную поддержку для компиляции, развертывания и связывания смарт-контрактов.
- Он позволяет автоматически тестировать контракты с Mocha и Chai.
- Консоль Truffle позволяет вам без проблем работать с скомпилированными контрактами.
- Он имеет настраиваемый конвейер сборки, который поддерживает как консольные приложения, так и веб-приложения.
- Он поставляется со встроенной поддержкой JavaScript, CoffeeScript, SASS, ES6 и JSX.
- В нем есть генераторы, помогающие в создании новых контрактов и тестов (например, rails generate).
- Он имеет средство запуска сценариев, которое позволяет вам запускать файлы JS/Coffee, включая ваши смарт-контракты.
- Это позволяет мгновенно восстанавливать активы на этапе разработки.
- Он позволяет компилировать и развертывать контракты с использованием предпочтительного клиента RPC.
- Он поддерживает как управление сетью, так и управление пакетами.
Как установить трюфель Эфириум?
Вы можете установить Truffle Ethereum с помощью диспетчера пакетов Node (npm). Сначала вам нужно настроить NPM на своем компьютере, а затем установить Truffle. Для этого вам нужно открыть терминал и ввести следующее:
npm установить -g трюфель
Однако на машинах Linux вам может потребоваться добавить префикс «sudo» к приведенному выше оператору. После того, как вы установили платформу Truffle, обязательно загрузите и установите симулятор блокчейна Ganache. Вы можете посетить официальный сайт Ganache — он содержит установщики для большинства популярных платформ.
Теперь, когда вы успешно установили Truffle, вы можете запустить проект Truffle двумя способами. Чтобы создать голый проект, вы можете ввести следующий оператор:
трюфель
Однако вы также можете использовать команду распаковки Truffle для создания проекта с существующим кодом. Например, вы можете создать токен следующим образом:
трюфель распаковать метакоин
При выполнении этой команды проект будет создан из трюфельного ящика. Вы можете найти множество трюфельных ящиков на официальном сайте. Они содержат шаблонный код и все необходимые конфигурации для создания проектов и их быстрого запуска.
Структура проекта Truffle
Папка Truffle, которую вы создадите, будет выглядеть примерно так:
├── контракты
│ ├── ConvertLib.sol
│ ├── MetaCoin.sol
│ └── Migrations.sol
├── миграции
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── тест
│ ├── TestMetacoin.sol
│ └── metacoin.js
├── truffle-config.js
└── трюфель.js
Теперь мы подробно обсудим различные подпапки, содержащиеся в вашей папке Truffle.
Папка контрактов
В папке «Контракты» хранятся все ваши смарт-контракты. В этой папке также есть специальный файл, известный как файл Migrations.sol. Обычно, когда Truffle компилирует ваш проект, он просматривает папку Contracts, чтобы скомпилировать все совместимые файлы.
Папка миграции
Миграция Truffle относится к сценарию, который определяет, как ваши смарт-контракты будут развернуты в блокчейне Ethereum. Миграции необходимы, потому что по мере того, как ваш проект становится все более сложным, возрастает и сложность ваших развертываний. Благодаря Truffle Migrations вы можете последовательно автоматизировать процесс развертывания смарт-контрактов.

Если вы посмотрите на структуру папок Truffle, вы увидите файл с именем 1_initial_migration.js . Этот файл развертывает контракт Migrations.sol в блокчейне Ethereum.
Миграции позволяют:
- Установите максимальный лимит газа для развертываний
- Измените или измените адрес развертываний.
- Вызывать произвольные контрактные функции.
- Развертывание библиотек
Тестовая папка
Когда дело доходит до смарт-контрактов, тестирование является обязательным! К счастью, в Truffle есть встроенная среда тестирования, которая позволяет вам писать тесты на Solidity или JavaScript. Если вы пишете свои тесты в Solidity, вы должны импортировать смарт-контракты в тесты с помощью директивы импорта Solidity, например:
импортировать «../contracts/MetaCoin.sol»;
Однако, если вы пишете тесты на JavaScript, вам нужно импортировать их с помощью вспомогательной функции Artifacts.require() , например:
var MetaCoin = артефакты.require(“./MetaCoin.sol”);
Конфигурационный файл
Файл конфигурации, также известный как truffle.js или truffle-config.js, определяет, как Truffle может подключаться к сетям Ethereum, а также следующие вещи:
- Среды — позволяет вам определить адрес ноты geth, network_id, максимальный лимит газа для развертывания и цену газа, которую вы готовы заплатить.
- Структура проекта . Вы можете изменить место, где создаются и хранятся файлы.
- Версия и настройки компилятора. Вы можете исправить версию solc и установить параметры -O (оптимизация).
- Управление пакетами — Truffle совместим с EthPM (менеджером пакетов Ethereum). Вы можете настроить зависимости EthPM для своих проектов Truffle.
- Описание проекта — указывается, кто разработал проект, указывается название проекта, контактные адреса и т. д.
Читайте также: Идеи блокчейн-проектов для начинающих
Как запускать смарт-контракты?
Вот различные способы запуска смарт-контрактов:
- Для компиляции смарт-контрактов вам необходимо запустить следующий код:
компиляция трюфелей
- Для запуска миграции вы должны использовать следующий код:
трюфель мигрировать
Вы также можете сделать это, упомянув конкретную среду:
трюфельная миграция – работа в сети

- Для тестирования смарт-контрактов вы можете запустить следующий код:
трюфельный тест
Вы также можете запустить определенный тест, используя следующий код:
трюфельный тест ./path/to/FileTest.sol
В этом посте мы стремились дать вам основное представление о Truffle Etheruem и о том, как он работает. Truffle — это мощный инструмент, который делает разработку DApps и смарт-контрактов намного более удобной, привнося стандартные методы разработки в картину блокчейна.
Подведение итогов
В технологии блокчейна наблюдается рост карьеры, и блокчейн навсегда изменил само лицо технологической индустрии. Если вы хотите стать разработчиком блокчейна и создавать смарт-контракты и чейнкоды, ознакомьтесь с программой расширенных сертификатов IIIT-B и upGrad в технологии блокчейн .
Что такое Vyper на Ethereum?
Vyper — это контрактно-ориентированный, статистически типизированный язык программирования Python, предназначенный для виртуального мира Ethereum. Он был разработан как улучшение Солидарности. Основными принципами и целями Vyper являются безопасность, простота языка и компилятора, а также возможность аудита. Vyper является строго типизированным языком и, следовательно, не позволяет использовать один тип данных в качестве другого. Он поставляется со многими дополнительными функциями, такими как проверка границ и переполнения, строгая типизация, небольшие и понятные части компилятора, ограниченная поддержка чистых функций, поддержка целых чисел со знаком и десятичных чисел с фиксированной точкой, а также разрешимость. Он также имеет простой синтаксис, который не позволяет разработчикам создавать неоднозначные программы.
Каковы недостатки смарт-контрактов?
Смарт-контракты, несмотря на то, что они имеют так много применений и более широкую популярность, имеют множество ограничений. Существует хорошее правовое регулирование для обеспечения соблюдения смарт-контрактов, что делает его более уязвимым для кибератак. Изменить процесс смарт-контракта практически невозможно, так как любая ошибка в коде требует много времени и средств для исправления. Хотя участие третьих лиц значительно снижается, полностью исключить его нельзя. Например, разработчикам нужны юристы, чтобы понимать условия создания кодов для смарт-контрактов. Смарт-контракты также сильно зависят от программистов и подвержены ошибкам, что является существенным недостатком.
Что такое управление сетью и пакетами в блокчейне?
Менеджер пакетов помогает автоматизировать установку, обновление, настройку и удаление приложений. Они используются в операционных системах и средах программирования и помогают избежать ада зависимостей. Ключевые функции менеджеров пакетов включают проверку подлинности пакета, загрузку программного обеспечения из онлайн-репозитория, обновление существующего программного обеспечения и т. д. Существует множество типов менеджеров пакетов, двоичных пакетов, пакетов на основе исходного кода, гибридных систем, менеджеров метапакетов, приложений. менеджеры на основе блокчейна и т. д. Также существуют менеджеры пакетов, связанные с блокчейном. Одним из таких менеджеров является менеджер пакетов Node. NPM — это крупнейший в мире реестр программного обеспечения, который позволяет отдельным пользователям использовать общие ресурсы через свой репозиторий с открытым исходным кодом.