Что такое трюфельный люкс? Особенности, Как установить, Как запустить смарт-контракты

Опубликовано: 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 — это крупнейший в мире реестр программного обеспечения, который позволяет отдельным пользователям использовать общие ресурсы через свой репозиторий с открытым исходным кодом.