Ce este Truffle Suite? Caracteristici, Cum se instalează, Cum se rulează contracte inteligente

Publicat: 2020-03-24

În primele zile, când Blockchain tocmai și-a început călătoria în domeniul tehnologic principal, trebuia să dezvoltați contracte inteligente folosind limbajul de programare Solidity și să le implementați apelând funcțiile geth sau solc.

Pentru a face acest proces puțin mai ușor, a trebuit să scrieți scripturi bash care să compilați mai întâi și apoi să implementați contractul. Acum, deși a doua abordare a fost mai bună decât prima, a fost destul de rudimentară, având în vedere că scripturile bash implică adesea o lipsă de standardizare.

Această nevoie de a crea un cadru de dezvoltare și testare perfect și optim pentru contractele inteligente Blockchain este ceea ce a dat naștere Truffle Etheruem.

Învață curs online de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Cuprins

Ce este Truffle Suite?

Potrivit Truffle Suite , Truffle este un „mediu de dezvoltare de clasă mondială, un cadru de testare și o conductă de active pentru blockchain-uri care utilizează Ethereum Virtual Machine (EVM), cu scopul de a ușura viața ca dezvoltator”.

Cu cuvinte simple, Truffle este un mediu de dezvoltare, un cadru de testare și o pipeline de active, toate reunite într-unul singur. Se bazează pe Ethereum Blockchain și este conceput pentru a facilita dezvoltarea lină și fără probleme a DApps (Aplicații distribuite). Cu Truffle, puteți compila și implementa contracte inteligente, le puteți injecta în aplicații web și, de asemenea, puteți dezvolta front-end pentru DApps. Astăzi, Truffle este unul dintre cele mai utilizate IDE-uri pentru Ethereum Blockchain.

Suita Truffle cuprinde trei elemente de bază:

  • Truffle – Mediul real de dezvoltare care integrează compilarea, testarea și implementarea Smart Contracts.
  • Ganache – Este un simulator Blockchain implementat local. Ganache are o interfață grafică de utilizator care poate simula rețelele Blockchain și poate testa contractele inteligente fără a fi necesar să configurați rețele de testare reale sau să utilizați o rețea la distanță.
  • Drizzle – Este un sortiment de biblioteci front-end care oferă componente utile pentru dezvoltarea de aplicații web care se pot conecta perfect cu contractele inteligente.

Citește: Cum să devii un dezvoltator Blockchain – Un ghid pentru începători

Care sunt caracteristicile Truffle?

Caracteristicile care fac din Truffle Etheruem unul dintre cele mai utilizate IDE-uri pentru Ethereum Blockchain sunt:

  • Are suport încorporat pentru compilarea, implementarea și conectarea contractelor inteligente.
  • Permite testarea automată a contractelor cu Mocha și Chai.
  • Consola Truffle vă permite să lucrați cu contractele dvs. compilate într-o manieră fără probleme.
  • Are o conductă de construcție configurabilă care acceptă atât aplicațiile de consolă, cât și aplicațiile web.
  • Vine cu suport încorporat pentru JavaScript, CoffeeScript, SASS, ES6 și JSX.
  • Are generatoare care ajută la crearea de noi contracte și teste (de exemplu, șinele generează).
  • Are un rulator de script care vă permite să rulați fișiere JS/Coffee, inclusiv contractele dvs. inteligente.
  • Permite reconstruirea instantanee a activelor în timpul etapei de dezvoltare.
  • Permite compilarea și implementarea contractelor folosind clientul RPC pe care îl alegeți.
  • Acceptă atât managementul rețelei, cât și managementul pachetelor.

Cum se instalează Truffle Ethereum?

Puteți instala Truffle Ethereum folosind Node Package Manager (npm). Mai întâi, trebuie să configurați NPM pe computer și apoi să instalați Truffle. Pentru a face acest lucru, trebuie să deschideți terminalul și să tastați următoarele:

npm install -g truffle

În mașinile Linux, totuși, ar putea fi necesar să adăugați prefixul „sudo” la declarația de mai sus. După ce ați instalat cadrul Truffle, asigurați-vă că descărcați și instalați simulatorul de blockchain Ganache. Puteți vizita site- ul web oficial Ganache – acesta conține programe de instalare pentru cele mai populare platforme.

Acum că ați instalat cu succes Truffle, puteți începe un proiect Truffle în două moduri. Pentru a crea un proiect simplu, puteți tasta următoarea declarație:

trufe init

Cu toate acestea, puteți folosi și comanda Truffle unbox pentru a crea un proiect cu codul existent. De exemplu, puteți crea un token astfel:

truffle unbox metacoin

La rularea acestei comenzi, un proiect va fi creat dintr-o casetă Truffle. Puteți găsi multe cutii cu trufe pe site-ul oficial. Acestea conțin codul standard și toate configurațiile necesare pentru proiecte de construcție și le lansează rapid.

Structura unui Proiect Trufe

Dosarul Truffle pe care îl creați va arăta cam așa:

├── contracte

│ ├── ConvertLib.sol

│ ├── MetaCoin.sol

│ └── Migraţii.sol

├── migrații

│ ├── 1_migrare_inițială.js

│ └── 2_deploy_contracts.js

├── test

│ ├── TestMetacoin.sol

│ └── metacoin.js

├── truffle-config.js

└── trufă.js

Acum, vom discuta în detaliu despre diferitele subdosare conținute în folderul Truffle.

Dosarul Contracte

Dosarul Contracte este unul în care sunt stocate toate contractele dvs. inteligente. În acest folder, există și un fișier special cunoscut sub numele de fișier Migrations.sol. De obicei, atunci când Truffle vă compila proiectul, acesta va naviga prin folderul Contracte pentru a compila toate fișierele compatibile.

Dosarul Migrații

Migrarea trufelor se referă la un script care definește modul în care contractele dvs. inteligente vor fi implementate în Ethereum Blockchain. Migrațiile sunt esențiale, deoarece pe măsură ce proiectul dvs. devine tot mai complex, complexitatea implementărilor dvs. crește și ea. Datorită Truffle Migrations, puteți automatiza procesul de implementare a Smart Contracts într-o manieră secvențială.

Dacă te uiți înapoi la structura folderului Truffle, vei vedea un fișier numit 1_initial_migration.js . Acest fișier implementează contractul Migrations.sol în Ethereum Blockchain.

Migrațiile vă permit să:

  • Setați limita maximă de gaz pentru implementări
  • Modificați sau modificați adresa de la implementări.
  • Apelați funcții de contract arbitrare.
  • Implementați biblioteci

Dosarul de testare

Când vine vorba de contracte inteligente, testarea este o necesitate! Din fericire, Truffle are un cadru de testare încorporat care vă permite să scrieți teste în Solidity sau JavaScript. Dacă vă scrieți testele în Solidity, trebuie să importați contractele inteligente în testele cu directiva de import Solidity, astfel:

import „../contracts/MetaCoin.sol”;

Cu toate acestea, dacă scrieți teste în JavaScript, trebuie să le importați folosind funcția de ajutor artefacts.require() , astfel:

var MetaCoin = artefacts.require(“./MetaCoin.sol”);

Fișier de configurare

Fișierul de configurare, cunoscut și ca truffle.js sau truffle-config.js, definește modul în care Truffle se poate conecta la rețelele Ethereum împreună cu următoarele lucruri:

  • Medii – Vă permite să definiți adresa notei geth, network_id-ul, limita maximă de gaz pentru implementare și prețul gazului pe care sunteți dispus să-l plătiți.
  • Structura proiectului – Puteți modifica locația în care sunt construite și stocate fișierele.
  • Versiunea și setările compilatorului – Puteți repara versiunea solc și puteți seta parametrii -O (optimizare).
  • Gestionarea pachetelor – Truffle este compatibil cu EthPM (Ethereum Package Manager). Puteți configura dependențe pentru EthPM pentru proiectele dvs. Truffle.
  • Descrierea proiectului – Se menționează cine a dezvoltat proiectul, specifică numele proiectului, adresele de contact și așa mai departe.

Citește și: Idei de proiecte Blockchain pentru începători

Cum să rulezi contracte inteligente?

Iată diferitele moduri de a rula contracte inteligente -

  • Pentru a compila contracte inteligente, trebuie să rulați următorul cod:

trufe compilare

  • Pentru rularea migrațiilor, trebuie să utilizați următorul cod:

trufele migrează

Puteți face acest lucru și menționând un mediu specific:

truffle migrate – rețea live

  • Pentru a testa contractele inteligente, puteți rula următorul cod:

test trufe

De asemenea, puteți rula un test specific folosind următorul cod:

test trufe ./path/to/FileTest.sol

În această postare, ne-am propus să vă oferim ideea de bază despre Truffle Etheruem și cum funcționează. Truffle este un instrument puternic care face dezvoltarea de DApps și Smart Contracts mult mai convenabilă, aducând practicile standard de dezvoltare în imaginea Blockchain.

Încheierea

Există o creștere a carierelor în tehnologia blockchain și blockchain a schimbat enorm însăși fața industriei tehnologiei pentru totdeauna. Dacă sunteți interesat să deveniți un dezvoltator blockchain și să construiți contracte inteligente și coduri de lanț, verificați programul de certificate avansate de la IIIT-B și upGrad în tehnologia blockchain .

Ce este Vyper pe Ethereum?

Vyper este un limbaj de programare pythonic orientat spre contract, tipizat statistic, care vizează Lumea Virtuală Ethereum. A fost conceput ca o îmbunătățire față de Solidaritate. Principiile și obiectivele principale ale Vyper sunt securitatea, limbajul și simplitatea compilatorului și auditabilitatea. Vyper este un limbaj puternic tipizat și, prin urmare, nu permite ca un tip de date să fie utilizat ca altul. Vine cu multe caracteristici adăugate, cum ar fi verificarea limitelor și depășirilor, tastare puternică, părți mici și ușor de înțeles ale compilatorului, suport limitat pentru funcții pure, suport pentru numere întregi cu semn și numere cu virgulă fixă ​​zecimală și decidebilitate. De asemenea, are o sintaxă simplă care face imposibilă pentru dezvoltatori să codifice programe ambigue.

Care sunt dezavantajele contractelor inteligente?

Contractele inteligente, deși au atât de multe utilizări și o popularitate mai largă, suferă de multe limitări. Există o reglementare legală bună pentru punerea în aplicare a contractelor inteligente, ceea ce o face mai predispusă la atacuri cibernetice. Modificarea procesului de contract inteligent este aproape imposibilă, deoarece orice eroare de cod necesită timp și este costisitor de corectat. Deși implicarea terților este semnificativ redusă, aceasta nu poate fi eliminată complet. De exemplu, dezvoltatorii au nevoie de avocați pentru a înțelege termenii pentru a crea coduri pentru contractele inteligente. Contractele inteligente au, de asemenea, o mare dependență de programatori și expunerea la erori, ceea ce reprezintă un dezavantaj semnificativ.

Ce sunt gestionarea rețelelor și a pachetelor în blockchain?

Un manager de pachete vă ajută să automatizați instalarea, actualizarea, configurarea și eliminarea aplicației. Ele sunt utilizate în sistemele de operare și mediile de programare și ajută la evitarea iadului de dependență. Funcțiile cheie ale managerilor de pachete includ asigurarea autenticității pachetului, descărcarea de software dintr-un depozit online, actualizarea software-ului existent etc. Există multe tipuri de manageri de pachete, pachete binare, pachete bazate pe cod sursă, sisteme hibride, manageri de meta-pachete, aplicații. manageri bazați pe baza de date etc. Există, de asemenea, manageri de pachete legate de blockchain. Un astfel de manager este managerul Node Package. NPM este cel mai mare registru de software din lume care permite persoanelor să utilizeze resurse partajate prin intermediul depozitului lor open-source.