Construirea unui contract inteligent: este mai ușor decât crezi

Oricine poate construi un contract inteligent

Contractele inteligente vă vor facilita modul în care faceți afaceri în noua economie descentralizată. Cele mai multe contracte inteligente sunt făcute pe platforme DApp (Aplicație descentralizată) precum Ethereum, Lisk sau Cardano, iar companiile mari de tehnologie precum IBM își încep propriile afaceri construindu-le. Acest lucru are sens, deoarece există o mulțime de companii care ar prefera să aibă încredere într-un gigant tehnologic ca IBM să construiască un produs pentru ei decât să abordeze singuri o nouă tehnologie.

Dezvoltarea inteligentă a contractelor poate deveni o abilitate comercială pentru dezvoltatorii care știu cum să le construiască. O parte surprinzătoare a contractelor inteligente este că nu sunt greu de construit. Platformele DApp și instrumentele din jur fac posibilă crearea lor și construirea cu ușurință a propriei tehnologii blockchain.

Dezvoltatorii Javascript nu ar trebui să fie intimidați de blockchain. Cu un pic mai multă înțelegere, blockchain-ul devine la fel ca majoritatea celorlalte cadre pe care le-ați implementa în mod normal.

Planificarea unui contract inteligent

Când creați pentru prima dată un contract inteligent, ar trebui să decideți ce doriți să vă faciliteze.

Pentru acest exemplu, să ne concentrăm pe ticketingul pentru evenimente. Biletarea are probleme uriașe cu scalperii care cumpără o tonă de bilete și cu persoanele care folosesc bilete false. Tehnologia blockchain excelează la multe lucruri; două dintre ele facilitând tranzacțiile și ținând evidența informațiilor.

Din această cauză, o linie simplă de cod din contract poate limita prețurile de revânzare a biletelor. Acest lucru împiedică cumpărătorii să cumpere o grămadă de bilete, deoarece vânzarea lor ar fi acum neprofitabilă. Utilizând contracte inteligente, puteți genera, de asemenea, bilete tokenizate unice, care sunt specifice proprietarului și nu pot fi falsificate. Dacă sunteți cineva căruia îi place să participe la concerte, festivaluri și evenimente sportive, puteți vedea recursul.

Opțiuni platformă DApp

Următorul lucru de ales este platforma DApp pe care să construiască contractul.

Ethereum este cea mai mare și mai stabilită platformă. De asemenea, are cea mai activă bază de utilizatori și, în orice tip de dezvoltare, o comunitate activă care să vă răspundă la întrebări este esențială pentru finalizarea produsului. Un dezavantaj este că folosește propriul limbaj, Solidity, pentru a scrie contracte.

Altă opțiune, Lisk, este o platformă DApp bazată pe Javascript, deci nu veți primi nici o sintaxă nouă asupra dvs. De asemenea, are propriul magazin DApp (gândiți-vă la Google Play sau la magazinul iTunes), unde vă puteți publica aplicația la final.

Ați putea, de asemenea, să încercați Cardano care a fost construit de un fondator al Ethereum și are o echipă mare, impresionantă. Produsul lor este încă nou, dar dacă își îndeplinesc promisiunea de a separa informațiile contractuale de datele tranzacționale, ar putea fi alegerea corectă pentru a merge mai departe.

Deocamdată, să trecem peste Ethereum sau Lisk ca platformă la alegere.


În calitate de dezvoltator Javascript, Lisk poate părea o decizie logică, deoarece aveți deja experiență în limba respectivă.

Cu toate acestea, nu numărați Ethereum. Comunitatea de dezvoltare este atât de robustă încât poți compensa orice neînțelegere a Solidity cu excesul de informații disponibile. Ethereum include, de asemenea, cadrul Truffle, creat de Consensys, care vă permite cu ușurință să vă integrați și să testați aplicația dvs. de contract inteligent.

etereum cadre contractuale inteligente

Construirea unui contract inteligent

Soliditatea sună mai intimidant decât este de fapt. Primul lucru pe care îl puteți observa despre limbă este asemănarea izbitoare pe care o are cu o clasă JavaScript. Există însă unele diferențe subtile, cum ar fi cerința punctelor și virgulelor și utilizarea funcțiilor de hash. funcții de hash sunt folosite pentru a crea chei unice și a le mapa la alte variabile. În exemplul nostru, le-am folosi pentru a crea bilete unice și pentru a le asocia la conturile care le cumpără.

Când construiți primul dvs. contract Ethereum, vă recomandăm să utilizați mediul de dezvoltare la remix.solidity.org. Vă oferă un mediu interactiv pentru a vă implementa contractul și a interacționa cu acesta din diferite conturi Ethereum. Un meniu derulant vă permite să schimbați conturile și să utilizați oricare dintre apelurile funcționale ale contractului dvs. apăsând butoanele corespunzătoare.

La ce să fii atent

Singurul lucru despre Solidity este utilizarea adresării. Toate conturile Ethereum au adrese unice, iar acele adrese reprezintă părțile care acceptă un contract.

În exemplul nostru de contract de ticketing, oricine creează evenimentul va avea atașată adresa contului său. Ori de câte ori cineva cumpără un bilet nou, fondurile se transferă direct către proprietarul evenimentului, scoțând intermediarul. Cumpărătorul efectuează un apel, iar fondurile sunt scoase din contul lor, identificate prin adresa lor și transmise proprietarului.

Solidity are, de asemenea, un mod unic de a atașa fonduri la un apel cu contract inteligent. Fiecare apel funcțional vine cu un mesaj. Acest mesaj poate conține informații unice de la expeditor, inclusiv adresa contului, precum și o valoare eterică pe care doresc să o trimită proprietarului contractului.

De asemenea, merită remarcat faptul că, în Solidity, nu toate apelurile contractuale sunt gratuite. Pentru a modifica informațiile din contract, de ex. cumpărați sau utilizați un bilet, rețeaua de mașini care confirmă execuția contractului taxă „gaz”. Gazul este practic o taxă pentru a profita de puterea de calcul din rețea.

Alte apeluri care doar interogă contractul pentru informații, de ex. căutarea prețului unui bilet sau obținerea numărului de bilete rămase sunt gratuite. Acest lucru se datorează faptului că nu se actualizează nicio informație despre contract; nu există niciun risc în aceste activități.

Conectarea la JavaScript

Cea mai dificilă parte a lucrului în Solidity este integrarea contractului dvs. cu Javascript. Toate acestea se fac folosind Cadru de trufe.

Primul pas în integrarea contractului dvs. este să îl implementați și să îl migrați în rețeaua de testare. Truffle oferă propriul RPC, o rețea separată de testare Ethereum, numită Ganache. Acest proces vă oferă o versiune JSON a contractului pe care o puteți apela folosind adresele rețelei de testare prin intermediul aplicației dvs. Javascript.

Dacă sunteți în căutarea mai multor informații despre acest proces, Truffle face o treabă excelentă prin a le descrie în documentele lor și în casetele de exemplu găsite la site-ul web.

Cutii de trufe

Un alt lucru greu de depășit atunci când creezi un contract inteligent este cum să-l conceptualizezi. Gândindu-vă la blockchain ca la un dezvoltator web, îl puteți privi ca un înlocuitor pentru baza de date. În loc de o sursă centralizată pentru toate informațiile dvs., există un lanț de contracte și tranzacții care urmează să conducă la informații.

Deoarece un blockchain este ca o bază de date, lucrul normal de făcut este să conectați contractul la serverul dvs. Crearea unui strat API pentru contract face accesarea informațiilor din partea clientului a aplicației la fel de ușoară ca și efectuarea unei cereri AJAX. Există un bun casetă de exemplu pe site-ul trufelor pentru a obține această configurare.

Deși blockchain-ul este similar cu o bază de date, nu este complet identic. Are un protocol complet unic care implică tranzacții, hash și crearea de blocuri. Aceasta poate fi cea mai grea parte a dezvoltării Ethereum. În exemplul nostru de biletare, trebuie să structurați un apel contractual pentru cumpărarea unui bilet diferit de apelul pentru utilizarea unui bilet. Mașina virtuală Ethereum este pretențioasă în legătură cu aceste apeluri.

Acesta este un alt domeniu în care marea comunitate de dezvoltare Ethereum este utilă. Există mari șanse ca la orice întrebare să vi se răspundă deja pe Ethereum Stack Exchange și, dacă nu, alți dezvoltatori sunt mai mult decât dispuși să vă ajute prin contractul dvs..

Concluzie

Acest articol nu a fost menit să vă învețe cum să începeți să scrieți Solidity. În schimb, a fost pentru a vă oferi o prezentare generală a ceea ce este un contract inteligent și cum îl puteți implementa într-o aplicație Javascript. Construirea pe blockchain este posibilă pentru oricine cunoaște dezvoltarea web.

Tehnologia din spatele blockchain-ului poate fi dificil de înțeles, dar, ca orice alt cadru sau instrument de dezvoltator, nu este necesar să știți cum a fost construită pentru a-l utiliza. Nu lăsați misterioasa aură a blockchainului să vă împiedice să construiți ceva grozav.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map