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 Suite является Truffle. Он является средой разработки, которая специализируется на разработке смарт-контрактов. Широкий набор ценных функциональных возможностей делает разработку dApps намного проще для разработчиков — эта простота перекликается с ее слоганом «Smart Contracts Made Sweeter».
Truffle позволяет автоматизировать компиляцию и упаковку кода Solidity в байткод, который отправляется в виртуальную машину Ethereum (EVM). Кроме того, он упрощает процесс интеграции вашего dApp с внешними инструментами разработки.
Несмотря на то, что Ganache обычно называют персональным блокчейном, его следует рассматривать скорее как симулятор Bitcoin/Ethereum. Он является компонентом Truffle Suite, который был создан для тестирования приложений путем имитации блокчейна. Это позволяет им убедиться, что их код будет правильно работать с реальными транзакциями блокчейна.
Еще один ценный компонент Truffle Suite с библиотеками для разработки фронтенда. Его главная функция — предложить легкость создания гладкого пользовательского интерфейса dApps. Ядро Drizzle основано на хранилище Redux, которое снимает все хлопоты по синхронизации данных контракта, транзакций и прочего. С Drizzle разработка фронтенда становится гораздо более доступной и предсказуемой.