====== Truffle Suite: Ekosystém pro vývojáře ====== **Truffle Suite** je komplexní sada nástrojů navržená tak, aby vývojářům usnadnila život při vytváření, testování a nasazování decentralizovaných aplikací (dApps). Skládá se ze tří hlavních pilířů: **Truffle**, **Ganache** a **Drizzle**. ===== 1. Tři pilíře Truffle Suite ===== ==== Truffle (Vývojový framework) ==== Samotné jádro sady, které slouží jako vývojové prostředí a pipeline pro kompilaci a nasazení. * **Správa chytrých smluv:** Automatizuje kompilaci kódu v [[it:sw:solidity_evm|Solidity]]. * **Migrace:** Skriptovatelný systém pro nasazování smluv na různé sítě (Testnet, Mainnet). * **Testování:** Umožňuje psát automatizované testy v JavaScriptu (Mocha/Chai) nebo přímo v Solidity. ==== Ganache (Osobní blockchain) ==== Nástroj pro vytvoření lokální instance blockchainu na vašem počítači jediným kliknutím. * **Okamžitá zpětná vazba:** Transakce jsou potvrzovány okamžitě, bez čekání na skutečnou síť. * **Virtuální účty:** Poskytuje 10 testovacích adres, každou s "falešnými" 100 ETH pro účely vývoje. * **Verze:** Existuje jako grafické rozhraní (GUI) i jako nástroj pro příkazovou řádku (CLI). ==== Drizzle (Frontendová knihovna) ==== Knihovna založená na **Reduxu**, která usnadňuje synchronizaci dat mezi blockchainem a uživatelským rozhraním. Zajišťuje, že se webová stránka automaticky aktualizuje, když se na blockchainu změní stav smlouvy. --- ===== 2. Workflow v Truffle ===== Vývojář typicky postupuje v těchto krocích: 1. **truffle init:** Vytvoří základní strukturu projektu. 2. **truffle compile:** Přeloží Solidity kód do JSON artefaktů (obsahujících Bytecode a ABI). 3. **truffle migrate:** Nahraje zkompilované smlouvy do sítě (např. do běžícího Ganache). 4. **truffle test:** Spustí sady testů pro ověření logiky smlouvy. --- ===== 3. Srovnání s moderní konkurencí ===== V posledních letech Truffle soupeří s novějšími nástroji. ^ Vlastnost ^ Truffle ^ Hardhat ^ Foundry ^ | **Jazyk testů** | JavaScript / Solidity | JavaScript / TypeScript | **Pouze Solidity** | | **Rychlost** | Pomalejší (Node.js) | Střední (Node.js) | **Extrémní (Rust)** | | **Ladění (Debugging)** | Základní | Velmi pokročilé | Vynikající | | **Obliba (2025)** | Na ústupu / Legacy | **Standard v průmyslu** | Rostoucí (pro experty) | --- ===== 4. Proč se Truffle stále používá? ===== I přes nástup Hardhatu zůstává Truffle důležitý pro: * **Legacy projekty:** Mnoho velkých dApps bylo postaveno na Truffle a stále na něm běží jejich údržba. * **Integrace:** Skvělá integrace s nástroji jako **MetaMask** a cloudovými službami (např. Infura). * **Dokumentace:** Díky své historii má Truffle jednu z nejrozsáhlejších komunitních základen a návodů. ---- //Související články:// * [[it:sw:solidity_evm|Solidity: Programování pro EVM]] * [[it:sw:smart_contracts|Chytré smlouvy: Teorie]] * [[it:sw:ethereum|Ethereum a jeho fungování]] //Tagy: {{tag>it truffle-suite ganache ethereum development-tools dapps solidity}}//