blogul 1NewsDevelopersEnterpriseBlockchain Explained Evenimente și conferințe ApăsațiBuletine informative

Aboneaza-te la newsletter-ul nostru.

Adresa de email

Vă respectăm confidențialitatea

AcasăBlogDezvoltatori

Pot crea un Linux / MacOS-like Ethereum Developer Setup on Windows ?: Un ghid pentru configurarea subsistemului Windows pentru Linux

Instrucțiuni pas cu pas despre cum să utilizați WSL 2 pentru a vă configura mediul și fluxul de lucru al contractului inteligent Ethereum de Thomas Hay 18 noiembrie 2020 Postat pe 18 noiembrie 2020

blockchain

La ConsenSys Academy, am cerut tuturor celor din Programul pentru dezvoltatori să descarce un Virtual Box și Ubuntu la început. Scopul nostru este ca fiecare student să aibă o experiență de utilizator consecventă atunci când își configurează mediul de dezvoltare locală. Indiferent de sistemul lor de operare nativ (OS), toată lumea ar avea Ubuntu și ar putea rula același software. Aceasta este o idee bună în teorie. În practică, am lucrat cu studenții pentru a face față problemelor legate de memoria disponibilă pe mașina lor pentru a face acest lucru să funcționeze. Aproape întotdeauna, utilizatorii de Mac vor continua fără a descărca Ubuntu, deoarece MacOS este un sistem bazat pe Unix. Utilizatorii de Windows sunt deseori frustrați, deoarece nu au putut folosi instrumentele de dezvoltare urmând instrucțiunile pe care le recomandăm pe sistemul lor de operare nativ și, dacă doreau să ruleze totul pe Windows, trebuiau să urmeze împreună cu un set de instrucțiuni paralele cu cele pentru Linux și utilizatorii MacOS. 

Monitorizam dezvoltarea subsistemului Windows pentru Linux (WSL). Lansarea WSL 2 a coincis cu întrebările din actuala noastră cohortă de studenți Bootcamp despre dacă ar putea folosi WSL 2 în loc să descarce un Virtual Box. Am simțit că a trecut timpul să acord mai multă atenție asupra modului de utilizare a WSL 2 pentru a oferi utilizatorilor Windows o experiență de dezvoltator de tip Linux, în timp ce folosesc instrumentele Ethereum pe care le recomandăm. Acest articol vă va împărtăși câteva idiosincrazii pe care le-am întâlnit la utilizarea WSL 2 pentru a vă configura mediul de dezvoltare Ethereum (cum ar fi ceea ce trebuie să faceți pentru a utiliza trufă comenzi). 

Ecosistemul nostru are multe articole și tutoriale utile, dar oamenii le creează presupunând că utilizatorul are instalat Linux sau MacOS. Vreau ca Ethereum să fie accesibil tuturor și doresc să împărtășesc ceea ce cred că este în prezent cea mai ușoară cale pentru dezvoltatorii care folosesc Windows de a-și configura mediul de dezvoltare, astfel încât să poată urma împreună cu majoritatea articolelor publicate despre dezvoltarea contractelor inteligente.

Puteți să treceți la tutorialul de mai jos sau să treceți la un scurt istoric despre motivul pentru care utilizatorii Linux și MacOS au avut în mod tradițional o cale mai ușoară către instrumentele pentru dezvoltatori din Ethereum.

Folosind WSL 2 pentru a vă configura mediul de dezvoltare Ethereum

Pasul 1: Descărcarea WSL 2

TLDR; Windows face o treabă foarte bună de a vă ghida prin instrucțiunile despre cum să instalați WSL 2 pe computer. „Subsistemul Windows pentru Linux Ghid de instalare pentru Windows 10”Este un articol cuprinzător, deoarece ambele sunt la înălțimea titlului, precum și oferă sfaturi de depanare. De asemenea, am constatat că vizionarea începe de la 8:24 din WSL2: Cod mai rapid pe subsistemul Windows pentru Linux! | Filele vs Spațiile videoclipul oferă un context suplimentar despre modul de activare a WSL prin interfața grafică cu utilizatorul (GUI) în loc de prin linia de comandă (sau PowerShell). Este posibil să trebuiască să reporniți computerul de mai multe ori și, în unele cazuri, în funcție de hardware-ul pe care îl are aparatul, acest lucru poate dura ceva timp. Aș fi gata să pun deoparte o jumătate de zi ca un scenariu în cel mai rău caz, doar pentru a-ți gestiona așteptările pentru toate instalațiile pe care urmează să le faci.

La pasul 6 din articolul menționat anterior, Am ales să instalez Ubuntu 20.04 LTS, deoarece am fost cel mai confortabil cu această distribuție față de celelalte enumerate. Am încercat să instalez Ubuntu prin intermediul linkului furnizat către magazinul Windows, accesat prin browserul meu web, dar aparatul meu Windows mi-a cerut apoi să instalez folosind aplicația Microsoft Store încorporată.

Am instalat și eu Terminalul Windows, care era opțional. Am făcut acest lucru după ce am făcut o grămadă de greșeli pe care le veți vedea la Pasul 3. În loc să continuu să „merg pe drumul meu”, am decis să urmez împreună cu ceea ce îmi spunea Microsoft. Avantajul Terminalului Windows este că într-o fereastră a terminalului, puteți deschide mai multe file de terminal ale diferitelor sisteme de operare.

Pasul 2: Rularea WSL 2 alături de VSCode

Vă sugerăm să utilizați orice IDE cu care vă simțiți cel mai confortabil. Personal, folosesc VSCode, așa că am vrut să-mi dau seama cum aș putea folosi VSCode alături de WSL 2. Am deja VSCode instalat, deci dacă nu îl aveți instalat, continuați și instalați-l. Apoi, pentru a-l rula alături de Ubuntu, am găsit răspunsul la 5:31 dintr-un videoclip pe WSL creat de Microsoft.

Folosind comanda:

cod. 

descărcat, instalat și pornit automat VSCode, dar am constatat că extensiile mele pe care le folosesc pentru a scrie contracte inteligente nu sunt instalate automat.

Pur și simplu faceți clic pe textul verde instalat în WSL: Ubuntu. VSCode mi-a cerut, de asemenea, să instalez câteva biblioteci suplimentare prin terminalul din VSCode și mi-a cerut să introduc parola pentru distribuția mea Linux (care este Ubuntu 20.04 LTS)

Există un tutorial mai lung numit Începeți să utilizați Visual Studio Code pentru subsistemul Windows pentru Linux care oferă o prezentare mai lungă dacă nu ați instalat încă VSCode. Din acest moment înainte, am făcut toți pașii următori în interiorul terminalului VSCode, care a fost acum configurat ca un shell bash.

Pasul 3. Instalați nvm, Node și npm

Înainte de a instala instrumente pentru dezvoltatori precum Truffle, trebuie să instalăm nvm, Node și npm. Consultați direct articolul Configurați-vă dezvoltarea NodeJS cu WSL 2.  

Prima idiosincrasie pe care am întâlnit-o a fost că documentația nu avea cea mai actualizată versiune de nvm listată și, prin urmare, vă recomand să mergeți la nvm GitHub repository pentru a afla versiunea curentă. După instalarea nvm, când am rulat comanda de comandă -v nvm pentru a confirma că a fost instalată în terminalul meu, nu s-a întâmplat nimic (nvm ar trebui returnat). Mi-a sugerat să închid terminalul și să îl redeschid, apoi să rulez din nou comanda. Când am făcut acest lucru, am primit nvm.

Apoi, am introdus nvm install node – lts am optat pentru versiunea LTS (stabilă pe termen lung). După ce am verificat dacă am instalat atât nodul, cât și npm (nod-versiune, npm-versiune). Am trecut la pasul următor. 

Nu faceți următoarele

Acesta este un exemplu clar de a nu citi documentația (citiți întotdeauna documentația). Pașii pe care i-am detaliat mai sus i-am făcut după ce am mers mai întâi pe calea de a nu citi documentele până la capăt. Cronologic, am deschis mai întâi terminalul cu VSCode și am introdus

nod -v

să văd dacă l-am instalat. Deoarece nu am instalat nodul, au revenit următoarele:

Am tastat în sugerat

sudo apt install nodejs

și mi s-a solicitat parola mea.pentru distribuția mea Linux (Ubuntu 20.04 LTS). Am scris apoi

nod -v

Versiunea care a revenit a fost 10.19.0. M-am uitat la site-ul web Node.js și versiunea stabilă recomandată a fost 14.15.0 LTS. Nu ceea ce am vrut să se întâmple. În plus, când am tastat

npm -v

pentru a vedea dacă am instalat NPM, am primit înapoi un interpret rău: nu există un astfel de fișier sau director. Ce a mers prost? Dacă tocmai aș începe citind articolul, aș fi văzut următoarele

„Versiunea Node care poate fi instalată cu comanda apt-get a Ubuntu este în prezent depășită”

Dacă te-ai trezit că ai parcurs această cale, trebuie să dezinstalezi Nodejs – iată câteva instrucțiuni utile, dar vei folosi comanda

sudo apt-get purge nodejs

în terminal să facă acest lucru.

Dacă navigați direct la site-ul web Node.js și descărcați și instalați, veți instala distribuția Windows, pe care nu o veți putea folosi în Ubuntu. Așadar, citiți mai întâi documentația de mai sus și nu încercați doar să „intrați în:.

Aflați din greșelile mele și economisiți-vă timp. Citiți documentația.

Pasul 4. Instalați Truffle Suite

În acest moment, aș putea urma acum pașii descriși pe portalul pentru dezvoltatori ConsenSys.

Asigurați-vă că decomentați rețeaua de dezvoltare (așa cum se vede mai jos) în fișierul truffle-config.js

Dacă nu, veți primi următoarea eroare:

Așteaptă … Am pregătit totul și a apărut o eroare, m-am îndepărtat și acum, când am rulat, mi-am uitat parola pentru distribuția mea Linux!!!

Ahh, da. Și eu am făcut asta. Am găsit articolul „Creați un cont de utilizator și o parolă pentru noua dvs. distribuție Linux” foarte folositor. 

Lucrurile pe care le-am instalat în Windows nu apar când rulez Ubuntu! Ce dă!!

Amintiți-vă, Ubuntu este un sistem de operare diferit de Windows. Programele instalate pe Windows nu sunt de așteptat să ruleze instantaneu distribuția Ubuntu și invers, cu excepția cazului în care sunt programe specifice configurate pentru a face acest lucru – Terminalul Windows fiind un exemplu. Să presupunem că orice instalați pe unul nu va funcționa pe celălalt pentru a fi în siguranță.

Ce urmează?

Acum urmați împreună cu Pasul 2: Creați un contract inteligent și Pasul 3: Lansați o aplicație descentralizată utilizând aceleași comenzi pe care le oferă aceste tutoriale.

O scurtă istorie a sistemelor de operare și a contextului pentru dezvoltatorii Ethereum

De ce utilizatorii Windows au o experiență diferită cu instrumentele pentru dezvoltatori Ethereum decât cei care utilizează Linux sau MacOS? Linux și MacOS nu sunt același sistem de operare și există nenumărate distribuții Linux. Se pare că ar trebui să existe mai multe seturi de instrumente pentru a face față diferitelor sisteme de operare de acolo. Pentru a răspunde la această întrebare este necesară o scurtă lecție de istorie. Vă recomand să vizionați videoclipul Crash Course Sisteme de operare: Crash Course Computer Science # 18 pentru unele informații de bază concise. 

Povestea noastră revine cu Unix. După lansarea Unix în 1969, acest sistem de operare s-a stabilit rapid în comunitatea de calculatoare. Calculul a fost dominat în mare parte de comunitățile de cercetare, afaceri mari sau hobby / hacker în anii 1970 și nu avea interfețele grafice de utilizator cu care suntem obișnuiți astăzi. Unix era bazat pe terminal în acest moment, deci totul a fost făcut prin ceea ce am numi linia de comandă.

Anii 1980 au coincis cu lansarea de către Microsoft și Apple a unor sisteme de operare populare pentru publicul de calcul personal. Progresele pe care aceste sisteme de operare le-au adus, alături de o scădere a costului hardware-ului și memoriei, au contribuit la creșterea numărului de persoane din afara mediului academic sau din lumea afacerilor capabile să își permită un computer pentru uz personal. Microsoft a lansat Microsoft Disk Operating System (MS-DOS) în 1981. Când Microsoft Windows a fost lansat în 1985, acest sistem de operare grafic bazat pe interfața utilizatorului a fost construit pe baza codului MS-DOS, făcând computerul mult mai accesibil utilizatorului final.

Apple a permis de fapt pornirea mai multor sisteme de operare pe Apple II, care a început să se vândă la sfârșitul anilor 1970. Dar Apple, înainte de Microsoft, a realizat cât de importantă ar fi o interfață grafică pentru adoptarea computerului personal. Primul sistem de operare bazat pe GUI al Apple, sistemul de operare Macintosh (denumit acum MacOS clasic) a provenit din Apple Lisa (LisaOS), un computer lansat în 1983. Sistemul de operare de pe Lisa a fost puternic inspirat de munca depusă la Centrul de Cercetare Palo Alto (PARC) de la Xerox, și mulți din echipa Xerox PARC au lucrat la Apple. Când a fost lansat mult mai popularul Apple Macintosh în 1984, MacOS clasic rulează pe el. Când m-am uitat la imagini și videoclipuri vechi cu Macintosh, am fost surprins de cât de familiară este interfața pe care MacOS-ul clasic o are MacOS care rulează astăzi pe computerul meu Apple..

Unix fusese sistemul de operare dominant în lumea calculelor și a continuat să fie popular în afara spațiului de calcul personal în anii 1980. În anii 1980, asta însemna că există trei sisteme de operare diferite construite pe trei baze de cod diferite. Utilizarea unui program în aceste sisteme de operare nu s-ar putea întâmpla în mod nativ. Programele trebuiau modificate pentru a funcționa cu sistemul de operare. Sistemele de operare bazate pe interfața grafică Apple și Microsoft au făcut computerul accesibil maselor. Pentru dezvoltatori, crearea unei aplicații care ar putea funcționa pe un computer necesită cunoașterea sistemului de operare (și încă funcționează). Dar Apple ar face alegeri care ar face mai ușor pentru dezvoltatorii familiarizați cu comenzile Unix să utilizeze MacOS sau un sistem de operare bazat pe Unix mai puțin o barieră de intrare.

Apple a început să facă mișcări către un Sistem de operare bazat pe Unix, începând din 1988, când a fost lansat A / UX bazat pe Unix. Pe o pistă paralelă, NeXT, cofondat de Steve Jobs în 1985 la plecarea sa de la Apple, crea un sistem de operare bazat pe Unix numit NeXTSTEP. Apple a achiziționat NeXT în 1996 și a achiziționat proprietatea intelectuală care va deveni MacOS X. Pentru a recapitula, co-fondatorul Apple a părăsit compania, a cofondat o altă companie de calculatoare pentru a construi computere și sisteme de operare, care a fost apoi achiziționată de compania pe care a cofondat-o mai întâi, pe care ulterior a devenit CEO și apoi a luat un proiect de la noua sa companie și acel proiect software a fost construit pentru a deveni baza MacOS pe care o rulez acum pe computerul meu Apple. În Steve Jobs de Walter Issacson, există un citat al lui Larry Ellison, cofondator al Oracle, despre o conversație pe care a avut-o cu Steve Jobs în timp ce erau în vacanță în Hawaii.

„Îl cunoști pe Larry, cred că am găsit o modalitate de a mă întoarce în Apple și de a-l controla fără ca tu să-l cumperi”, a spus Jobs în timp ce mergeau de-a lungul țărmului. Ellison și-a amintit: „El și-a explicat strategia, care a făcut ca Apple să cumpere NeXT, apoi va intra în consiliu și va fi la un pas de a fi CEO”.

Isaacson, Walter. Steve Jobs. New York ; Toronto: Simon & Schuster, 2011. p.300

Deci, așa a devenit MacOS un sistem de operare bazat pe Unix și a făcut posibil ca comanda Unix să ruleze pe terminal în MacOS.

Windows nu a devenit similar cu Unix. După succesul major al Windows 95/98, Windows a făcut trecerea la construirea sistemului său de operare în afara NT (acronimul NT nu mai înseamnă nimic, dar există multe teorii și istorii în jurul alegerilor NT – o gaură de iepure distractivă care trebuie coborâtă dacă sunteți interesat de istoria Microsoft). Începând cu Windows 2000, Microsoft a depreciat dependența de DOS (ducând la acest videoclip incredibil cu Bill Gates care dezactivează DOS atunci când Windows XP a fost lansat). Windows a continuat să fie bazat pe NT pentru toate versiunile ulterioare, inclusiv Windows 10.

Între Apple și Microsoft, va apărea un al treilea concurent. Linux a fost dezvoltat și lansat de Linus Torvalds în 1991. Este un sistem de operare asemănător Unix și, datorită faptului că este gratuit și ușor de personalizat, a fost adoptat rapid de comunitățile de dezvoltatori care nu doreau să fie conectați la Apple sau Microsoft. Linux a continuat să câștige popularitate și sa găsit folosit în multe medii de calcul diferite. De exemplu, Android, care este un sistem de operare mobil, este construit pe Linux și este cel mai popular sistem de operare pentru smartphone-uri. Linux a menținut, de asemenea, comenzile shell Unix. Pentru mai multe informații despre Linux, Rularea Linux, ediția a treia este o resursă cuprinzătoare.

A fi bazat pe Unix a însemnat că comenzile scrise în terminalul MacOS și un terminal Linux sunt sintactic aceleași, deoarece ambele folosesc bash shell (sau un derivat al acestuia, cum ar fi zsh). Utilizatorii Windows trebuie adesea să traducă o comandă pe care o văd într-un tutorial scris pentru ca shell-ul bash să funcționeze în Windows PowerShell sau Cmd. Utilizatorii Linux sau MacOS pot rula comanda. Dezvoltatorii petrec o grămadă de timp în terminal. Aceasta a însemnat instalarea și utilizarea anumitor instrumente pentru dezvoltatori pentru Ethereum (și multe alte limbi), cum ar fi nvm, Node, npm și Truffle, a necesitat un set diferit de instrucțiuni pentru utilizatorii Windows. 

Rezultatul este că există o mai mare compatibilitate între Linux și MacOS – și, de aceea, multe dintre comenzile utilizate în terminalul Ubuntu, o distribuție Linux, pot fi folosite (în mare măsură) interschimbabil în terminalul MacOS. Windows a incurs în sistemul de operare Unix în trecut, dar lansarea WSL în 2016 pentru Windows 10 a fost prima dată când utilizatorii Windows puteau utiliza un nucleu Linux în timp ce utilizau simultan Windows fără o mașină virtuală. WSL 2 a creat o mașină virtuală ușoară care rulează în Windows, ceea ce înseamnă că un dezvoltator nu mai trebuie să se ocupe de problemele de memorie și stocare legate de descărcarea unei cutii virtuale sau utilizarea VMWare pentru a instala Ubuntu.

De ce are impact acest lucru dezvoltatorii Ethereum? Blocul Genesis al Ethereum a avut loc la 30 iulie 2015 și, potrivit cofondatorului Ethereum și fondatorului ConsenSys Joe Lubin, cea mai mare parte a dezvoltării se întâmpla pe Ubuntu și MacOS X. Prin urmare, nu este surprinzător faptul că o mare parte din instrumentele originale au funcționat bine cu sisteme de operare de tip Unix. Deși au existat instrumente dezvoltate special pentru Windows, de multe ori experiența pentru dezvoltatori este mai bună atunci când aceștia pot utiliza un terminal de tip Unix pentru a instala software și a rula comenzi. 

Microsoft a depus eforturi pentru a scoate WSL 2 și s-a îmbunătățit până unde mulți membri ai comunității îl folosesc de la sfârșitul anului 2018 pentru a instala o distribuție Linux. Dacă utilizați Windows, nu mai aveți durerea de a urma un set ușor modificat de instrucțiuni atunci când creați dApp-ul. Utilizatorii Windows pot urmări acum împreună cu tutoriale Ethereum pentru Linux sau Mac.

O lectură extrem de distractivă, recomandată de mine de Avery Erwin, este cea a lui Neal Stephenson „La început a fost linia de comandă”, un eseu / carte despre experiența sa personală cu sistemele de operare în perioada descrisă în această scurtă istorie.

Concluzie

Acest tutorial și scurt istoric oferă utilizatorului Windows câteva informații despre cum să își configureze mediul de dezvoltare folosind WSL 2, Ubuntu, VSCode, npx, Node, npm și Truffle. De asemenea, oferă un pic din istoria modului și de ce trebuie să facem acest lucru. Dacă aveți comentarii sau sugestii utile pe baza experienței dvs., vă rugăm să le trimiteți la [e-mail protejat] așa că pot actualiza acest articol și vă pot acorda credit pentru contribuția dvs..

Mulțumiri speciale Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson și mai multor prieteni amabili pentru recenzia și comentariile dvs. despre acest tutorial și istorie. Apreciez comentariile dvs..

Dezvoltatori Contracte inteligente Windows Buletin informativ Abonați-vă la newsletter-ul nostru pentru cele mai recente știri Ethereum, soluții pentru întreprinderi, resurse pentru dezvoltatori și multe altele.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me