Truffle

Truffle — это среда разработки и фреймворк для тестирования в блокчейнах, использующих EVM.

Что такое Truffle?

Для блокчейн, использующих EVM, truffle выступает в качестве среды разработки и фреймворка для тестирования, широко используемого инструмента для разработки блокчейн-приложений. Тим Коултер разработал его в 2015 году, когда столкнулся с трудностями в поиске инструментов для разработки dApps. Разработка Truffle была призвана облегчить разработчикам создание dApps. Компания ConsenSys в 2020 году приобрела команду и технологии Truffle Suite.

При создании dApp (децентрализованного приложения) в Ethereum необходимо преодолеть множество слоев и пакетов: Solidity, Web3.js, truffle-contract, testrpc, ganache-cli, geth, webpack. Цель Truffle — объединить все это в единый инструмент CLI из экосистемы NodeJS, который вы сможете использовать независимо от того, пишете ли вы смарт-контракт или создаете фронтенд-приложение.

Что такое Truffle Suite?

Это совокупность трех инструментов: Truffle, Ganache и Drizzle. В своей основе Truffle Suite - это экосистема для разработки децентрализованных приложений. Программа широко популярна среди разработчиков dApps, поскольку поддерживает весь процесс разработки.

Главным компонентом Truffle Suite является Truffle. Он является средой разработки, которая специализируется на разработке смарт-контрактов. Широкий набор ценных функциональных возможностей делает разработку dApps намного проще для разработчиков — эта простота перекликается с ее слоганом «Smart Contracts Made Sweeter».

Truffle позволяет автоматизировать компиляцию и упаковку кода Solidity в байткод, который отправляется в виртуальную машину Ethereum (EVM). Кроме того, он упрощает процесс интеграции вашего dApp с внешними инструментами разработки.

Несмотря на то, что Ganache обычно называют персональным блокчейном, его следует рассматривать скорее как симулятор Bitcoin/Ethereum. Он является компонентом Truffle Suite, который был создан для тестирования приложений путем имитации блокчейна. Это позволяет им убедиться, что их код будет правильно работать с реальными транзакциями блокчейна.

Наилучший способ представить себе Ganache - это большая банковская книга (база данных) с некоторыми базовыми функциями, например, создание учетных записей, создание и отправка транзакций и т.д. Это прекрасный способ узнать эффективность вашего кода и протестировать ваши смарт-контракты в локальной среде, прежде чем развернуть их на блокчейне.

Еще один ценный компонент Truffle Suite с библиотеками для разработки фронтенда. Его главная функция — предложить легкость создания гладкого пользовательского интерфейса dApps. Ядро Drizzle основано на хранилище Redux, которое снимает все хлопоты по синхронизации данных контракта, транзакций и прочего. С Drizzle разработка фронтенда становится гораздо более доступной и предсказуемой.

Связанные термины