NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressButlletins informatius
Subscriu-te al nostre butlletí.
Correu electrònic
Respectem la vostra privadesa
IniciBlogDesenvolupadors
Puc crear una configuració per a desenvolupadors Ethereum semblant a Linux / MacOS a Windows ?: Una guia per configurar el subsistema Windows per a Linux
Instruccions pas a pas sobre com utilitzar WSL 2 per configurar l’entorn de desenvolupament de contractes intel·ligents i el flux de treball d’Ethereum per Thomas Hay 18 de novembre de 2020 Publicat el 18 de novembre de 2020
A ConsenSys Academy, vam demanar a tothom del Programa per a desenvolupadors que baixés una caixa virtual i Ubuntu al principi. El nostre objectiu és que tots els estudiants puguin tenir una experiència d’usuari consistent en configurar el seu entorn de desenvolupament local. Independentment del seu sistema operatiu (SO) nadiu, tothom tindria Ubuntu i seria capaç d’executar el mateix programari. Aquesta és una bona idea en teoria. A la pràctica, hem treballat amb els estudiants per tractar qüestions relacionades amb la memòria disponible a la seva màquina per fer que funcioni. Gairebé sempre, els usuaris de Mac continuaran sense descarregar Ubuntu, ja que MacOS és un sistema basat en Unix. Els usuaris de Windows solen sentir-se frustrats, ja que no van poder utilitzar les eines de desenvolupament seguint les instruccions que recomanem al seu sistema operatiu natiu i, si volien executar-ho tot al Windows, havien de seguir junt amb un conjunt d’instruccions paral·leles a les de Linux. i usuaris de MacOS.
Havíem estat supervisant el desenvolupament del subsistema Windows per a Linux (WSL). El llançament de WSL 2 va coincidir amb preguntes de la nostra actual cohort d’estudiants de Bootcamp sobre si podrien utilitzar WSL 2 en lloc de descarregar una caixa virtual. Em va semblar que ja era temps dedicar-nos a centrar-nos en com utilitzar WSL 2 per proporcionar als usuaris de Windows una experiència de desenvolupador similar a Linux mentre utilitzaven les eines Ethereum que us recomanem. En aquest article us compartirem algunes idiosincràsies que hem trobat en utilitzar WSL 2 per configurar el vostre entorn de desenvolupador Ethereum (com ara el que heu de fer per utilitzar-lo) tòfona ordres).
El nostre ecosistema té molts articles i tutorials útils, però la gent els crea suposant que l’usuari tingui instal·lat Linux o MacOS. Vull que Ethereum sigui accessible per a tothom i volia compartir el que crec que és la manera més senzilla que els desenvolupadors que utilitzen Windows configurin el seu entorn de desenvolupament per poder seguir juntament amb la majoria d’articles publicats sobre el desenvolupament de contractes intel·ligents.
Podeu accedir al tutorial següent o passar a un breu historial sobre per què els usuaris de Linux i MacOS tenien tradicionalment un camí més fàcil cap a les eines per a desenvolupadors a Ethereum.
Utilitzeu WSL 2 per configurar el vostre entorn per a desenvolupadors d’Ethereum
Pas 1: descarregar WSL 2
TLDR; Windows fa una bona tasca de guiar-vos per les instruccions de com instal·lar WSL 2 al vostre equip. “Guia d’instal·lació del subsistema Windows per a Linux per a Windows 10”És un article complet perquè compleix amb el títol i proporciona consells per resoldre problemes. També hem trobat que mirar a partir de 8:24 de WSL2: Codi més ràpid al subsistema Windows per a Linux. | Pestanyes contra espais El vídeo proporciona un context addicional sobre com habilitar WSL mitjançant la interfície gràfica d’usuari (GUI) en lloc de mitjançant la línia d’ordres (o PowerShell). És possible que hàgiu de reiniciar l’ordinador diverses vegades i, en alguns casos, depenent del maquinari que tingui la vostra màquina, pot trigar una mica. Estaria disposat a deixar de banda mig dia com a pitjor dels casos, només per gestionar les vostres expectatives sobre totes les instal·lacions que esteu a punt de fer.
Al pas 6 del fitxer article esmentat, Vaig optar per instal·lar-lo Ubuntu 20.04 LTS, ja que em sentia més còmode amb aquesta distribució en comparació amb els altres que apareixen a la llista. Vaig intentar instal·lar Ubuntu mitjançant l’enllaç proporcionat a la botiga de Windows, al qual es va accedir mitjançant el meu navegador web, però la meva màquina Windows em va demanar que la instal·lés mitjançant l’aplicació de Microsoft Store integrada.
També he instal·lat Terminal de Windows, que era opcional. Ho vaig fer després d’haver comès un munt d’errors que veureu al pas 3. En lloc de continuar “seguint el meu propi camí”, vaig decidir seguir el que Microsoft em deia. L’avantatge de Windows Terminal és que, en una finestra de terminal, podeu obrir diverses pestanyes de terminal de diferents sistemes operatius.
Pas 2: Execució de WSL 2 al costat de VSCode
Us suggerim que utilitzeu qualsevol IDE que us agradi més. Personalment, faig servir VSCode, de manera que volia esbrinar com podia fer servir VSCode al costat de WSL 2. Ja tinc VSCode instal·lat, de manera que si no el teniu instal·lat, continueu i instal·leu-lo. Llavors, per tal de fer-lo funcionar al costat d’Ubuntu, vaig trobar la resposta a 5:31 d’un vídeo a WSL creat per Microsoft.
Amb l’ordre:
codi.
heu baixat, instal·lat i engegat VSCode automàticament, però he comprovat que les meves extensions que faig servir per escriure contractes intel·ligents no s’instal·len automàticament.
Simplement feu clic al text verd instal·lat a WSL: Ubuntu. VSCode també em va demanar que instal·lés algunes biblioteques addicionals a través del terminal de VSCode i em va demanar que introduïa la meva contrasenya per a la meva distribució Linux (que és Ubuntu 20.04 LTS)
Hi ha un tutorial més llarg anomenat Comenceu a utilitzar Visual Studio Code per al subsistema Windows per a Linux que proporciona un pas més llarg si encara no heu instal·lat VSCode. A partir d’aquest moment, vaig fer tots els passos següents dins del terminal de VSCode, que ara estava configurat com a shell bash.
Pas 3. Instal·leu nvm, Node i npm
Abans d’instal·lar eines per a desenvolupadors com Truffle, hem d’instal·lar nvm, Node i npm. Consulteu directament l’article Configureu el vostre desenvolupament NodeJS amb WSL 2.
La primera idiosincràsia que vaig trobar va ser que la documentació no tenia la versió més actualitzada de nvm a la llista i, per tant, recomano anar a la Dipòsit GvitHub de nvm per esbrinar la versió actual. Després d’instal·lar nvm, quan vaig executar l’ordre -v nvm per confirmar que estava instal·lat al meu terminal, no va passar res (s’hauria de retornar nvm). Em va suggerir que tanqués el terminal i el tornés a obrir i que tornés a executar l’ordre. Quan vaig fer això, vaig obtenir nvm.
Llavors, vaig escriure el node d’instal·lació nvm –lts vaig optar per la versió LTS (estable a llarg termini). Després de comprovar que tenia node i npm instal·lats (node –version, npm –version). Vaig passar al següent pas.
No feu el següent
Aquest és un clar exemple de no llegir la documentació (llegiu sempre la documentació). Els passos que he detallat més amunt els vaig fer després d’anar pel camí de no llegir els documents completament. Cronològicament, primer vaig obrir el terminal amb VSCode i vaig escriure
node -v
a veure si el tenia instal·lat. Com que no tenia cap node instal·lat, va tornar el següent:
Vaig escriure el suggerit
sudo apt install nodejs
i se m’ha demanat la meva contrasenya per a la meva distribució Linux (Ubuntu 20.04 LTS). Llavors vaig escriure
node -v
La versió que va tornar va ser el 10.19.0. Vaig mirar el lloc web Node.js i la versió estable recomanada va ser de 14.15.0 LTS. No és el que volia que passés. A més, quan he escrit
npm -v
per veure si tenia NPM instal·lat, vaig tornar malament intèrpret: No hi ha cap fitxer o directori. Que ha anat malament? Si tot just començés llegint l’article, hauria vist el següent
“La versió de Node que es pot instal·lar amb l’ordre apt-get d’Ubuntu està actualment obsoleta”
Si us heu trobat que heu seguit aquest camí, heu de desinstal·lar Nodejs – Aquí teniu algunes instruccions útils, però faràs servir l’ordre
sudo apt-get purge nodejs
dins del terminal per fer-ho.
Si navegueu directament al lloc web Node.js i descarregueu-lo i instal·leu-lo, instal·leu la distribució de Windows, que no podreu utilitzar a Ubuntu. Per tant, llegiu primer la documentació anterior i no intenteu “saltar a:.
Apreneu dels meus errors i estalvieu-vos temps. Llegiu la documentació.
Pas 4. Instal·leu Truffle Suite
En aquest punt, ara podria seguir els passos descrits al portal de desenvolupadors ConsenSys.
Assegureu-vos de descomentar la xarxa de desenvolupament (tal com es veu a continuació) al fitxer truffle-config.js
Si no ho feu, obtindreu el següent error:
Espera … Ho he configurat tot i hi ha hagut un error, m’he allunyat i ara que ja ho tinc en funcionament, he oblidat la meva contrasenya per a la meva distribució Linux!!!
Ah, sí. Jo també ho he fet. He trobat l’article “Creeu un compte d’usuari i una contrasenya per a la vostra nova distribució de Linux” molt util.
Les coses que he instal·lat al Windows no apareixen quan executo Ubuntu. El que dóna!!
Recordeu, Ubuntu és un sistema operatiu diferent del Windows. No s’espera que els programes instal·lats a Windows executin instantàniament la distribució d’Ubuntu i viceversa, tret que siguin programes específics configurats per fer-ho, sent el Windows Terminal un exemple. Suposem que qualsevol cosa que instal·leu en un no funcioni en l’altre per ser segura.
Què després??
Ara seguiu el pas 2: creeu un contracte intel·ligent i el pas 3: llanceu una aplicació descentralitzada amb les mateixes ordres que proporcionen aquests tutorials..
Una breu història dels sistemes operatius i el context per als desenvolupadors d’Ethereum
Per què els usuaris de Windows tenen una experiència diferent amb les eines per a desenvolupadors d’Ethereum que els que utilitzen Linux o MacOS? Linux i MacOS no són el mateix sistema operatiu i hi ha innombrables distribucions de Linux. Sembla que hauria d’haver-hi múltiples conjunts d’eines per fer front als diversos sistemes operatius que hi ha. Per respondre a aquesta pregunta es requereix una breu lliçó d’història. Us recomano veure el vídeo de Crash Course Sistemes Operatius: Crash Course Computer Science # 18 per obtenir informació de fons concisa.
La nostra història recull amb Unix. Després de la llançament d’Unix el 1969, aquest sistema operatiu es va establir ràpidament dins de la comunitat informàtica. La informàtica va estar molt dominada per les comunitats de recerca, grans empreses o aficionats / pirates informàtics durant la dècada de 1970, i no tenia les interfícies gràfiques d’usuari a què estem acostumats avui. Unix estava basat en el terminal en aquest moment, de manera que tot es feia mitjançant el que anomenaríem línia de comandes.
La dècada de 1980 va coincidir amb que Microsoft i Apple van llançar sistemes operatius populars per al públic de la informàtica personal. Els avenços que van aportar aquests sistemes operatius, juntament amb una disminució del cost del maquinari i de la memòria, van ajudar a fer créixer el nombre de persones fora de l’àmbit acadèmic o del món empresarial capaces de permetre’s un ordinador per a ús personal. Microsoft va llançar el Microsoft Disk Operating System (MS-DOS) el 1981. Quan Microsoft Windows es va llançar el 1985, aquest sistema operatiu gràfic basat en la interfície d’usuari es va construir sobre la base del codi MS-DOS, fent que l’ordinador sigui molt més accessible per a l’usuari final.
Apple va permetre l’arrencada de diversos sistemes operatius a l’Apple II, que es va començar a vendre a finals dels anys setanta. Però Apple, abans de Microsoft, es va adonar de la importància d’una GUI per impulsar l’adopció de l’ordinador personal. El primer sistema operatiu basat en GUI d’Apple, el sistema operatiu Macintosh (ara anomenat MacOS clàssic) es va originar a partir del Apple Lisa (LisaOS), un ordinador llançat el 1983. El sistema operatiu del Lisa estava molt inspirat en la feina feta al Centre d’Investigació Palo Alto (PARC) de Xerox, i molts de l’equip de Xerox PARC van treballar a Apple. Quan es va llançar l’Apple Macintosh, molt més popular, el 1984, MacOS clàssic funcionava amb ell. Quan vaig mirar imatges i vídeos antics del Macintosh, em va sorprendre la familiaritat que té la interfície que té el MacOS clàssic amb el MacOS que s’executa avui al meu ordinador Apple..
Unix havia estat el sistema operatiu dominant al món de la informàtica, i va continuar sent popular fora de l’espai informàtic personal als anys vuitanta. Durant els anys vuitanta, això va significar que hi havia tres sistemes operatius diferents basats en tres bases de codis diferents. L’ús d’un programa a través d’aquests sistemes operatius no podria succeir de forma nativa. Els programes es van haver de modificar perquè funcionessin amb el sistema operatiu. Els sistemes operatius basats en GUI d’Apple i Microsoft van fer que la informàtica fos accessible a les masses. Per als desenvolupadors, crear una aplicació que pogués funcionar en un ordinador requeria conèixer el sistema operatiu (i encara ho fa). Però Apple prendria decisions que facilitarien als desenvolupadors familiaritzats amb les ordres Unix l’ús de MacOS o un sistema operatiu basat en Unix menys d’una barrera d’entrada..
Apple va començar a fer moviments cap a Sistema operatiu basat en Unix, a partir del 1988, quan es va llançar l’A / UX basat en Unix. En una pista paral·lela, NeXT, cofundat per Steve Jobs el 1985 a la seva sortida d’Apple, creava un sistema operatiu basat en Unix anomenat NeXTSTEP. Apple va comprar NeXT el 1996 i va adquirir la propietat intel·lectual que esdevindria MacOS X. Per resumir, el cofundador d’Apple va deixar l’empresa, va fundar una altra empresa d’informàtica per fabricar ordinadors i sistemes operatius, que va ser comprada per l’empresa que va cofundar primer, de la qual posteriorment va passar a ser conseller delegat i després va prendre un projecte la seva nova empresa, i aquest projecte de programari es va construir per convertir-se en la base del MacOS que estic executant al meu ordinador Apple ara mateix. A Steve Jobs de Walter Issacson, hi ha una cita de Larry Ellison, cofundador d’Oracle, sobre una conversa que va mantenir amb Steve Jobs mentre estaven de vacances a Hawaii.
“Coneixeu Larry, crec que he trobat la manera de tornar a Apple i aconseguir-ne el control sense haver de comprar-lo”, va dir Jobs mentre caminaven per la costa. Ellison va recordar: “Va explicar la seva estratègia, que consistia a aconseguir que Apple comprés NeXT, i després passaria a la junta directiva i quedaria a un pas de ser CEO”.
Isaacson, Walter. Steve Jobs. Nova York; Toronto: Simon & Schuster, 2011. pàg.300
Així és com MacOS es va convertir en un sistema operatiu basat en Unix i va fer possible que l’ordre Unix s’executés al terminal de MacOS.
Windows no es va convertir en unix. Després del gran èxit de Windows 95/98, Windows va fer el canvi cap a la construcció del seu sistema operatiu fora de NT (l’acrònim NT ja no significa res, però hi ha moltes teories i històries al voltant de les opcions de NT: un divertit forat de conill per descarregar si us interessa la història de Microsoft). A partir del Windows 2000, Microsoft va desaprofitar la dependència de DOS (conduint a aquest increïble vídeo de Bill Gates desactivant DOS quan es va llançar Windows XP). Windows ha continuat basant-se en NT per a totes les versions posteriors, inclòs Windows 10.
Entre Apple i Microsoft, sorgiria un tercer competidor. Linux va ser desenvolupat i llançat per Linus Torvalds el 1991. Es tracta d’un sistema operatiu semblant a Unix i, a la vegada que és gratuït i fàcilment personalitzable, va ser adoptat ràpidament per comunitats de desenvolupadors que no volien estar connectats a Apple o Microsoft. Linux va continuar guanyant popularitat i es va trobar usant-se en molts entorns informàtics diferents. Per exemple, Android, que és un sistema operatiu mòbil, està basat en Linux i és el sistema operatiu de telèfon intel·ligent més popular. Linux també mantenia les ordres del shell Unix. Per obtenir més informació sobre Linux, Executant Linux, tercera edició és un recurs complet.
El fet de basar-se en Unix ha fet que les ordres escrites al terminal MacOS i un terminal Linux siguin sintàcticament iguals perquè tots dos utilitzen el shell bash (o algun derivat d’aquest com zsh). Els usuaris de Windows sovint han de traduir una ordre que veuen en un tutorial escrit perquè el shell bash funcioni al Windows PowerShell o Cmd. Els usuaris de Linux o MacOS només poden executar l’ordre. Els desenvolupadors passen un munt de temps al terminal. Això ha suposat instal·lar i utilitzar certes eines per a desenvolupadors per a Ethereum (i molts altres idiomes), com nvm, Node, npm i Truffle, ha requerit un conjunt d’instruccions diferent per als usuaris de Windows..
El resultat és que hi ha una major compatibilitat entre Linux i MacOS i, per tant, moltes de les ordres que s’utilitzen al terminal Ubuntu, una distribució Linux, també es poden utilitzar (en gran mesura) indistintament al terminal MacOS. Windows ha incursionat en sistemes operatius basats en Unix en el passat, però el llançament de WSL el 2016 per a Windows 10 va ser la primera vegada que els usuaris de Windows podien utilitzar un nucli Linux mentre feien servir Windows simultàniament sense una màquina virtual. WSL 2 ha creat una màquina virtual lleugera que s’executa dins de Windows, cosa que significa que un desenvolupador ja no ha de fer front als problemes de memòria i emmagatzematge relacionats amb la descàrrega d’una caixa virtual o l’ús de VMWare per instal·lar Ubuntu.
Per què això afecta els desenvolupadors d’Ethereum? El bloc Genesis d’Ethereum es va produir el 30 de juliol de 2015 i, segons el cofundador d’Ethereum i fundador de ConsenSys, Joe Lubin, la major part del desenvolupament s’estava produint a Ubuntu i MacOS X. Per tant, no és d’estranyar que gran part de l’eina original funcionés bé amb sistemes operatius semblants a Unix. Tot i que hi ha hagut eines desenvolupades específicament per a Windows, moltes vegades l’experiència per als desenvolupadors és millor quan poden utilitzar un terminal tipus Unix per instal·lar programari i executar ordres..
Microsoft va treballar per treure WSL 2 i ha millorat fins a on molts membres de la comunitat l’han utilitzat des de finals del 2018 per instal·lar una distribució Linux. Si utilitzeu Windows, ja no teniu el dolor d’haver de seguir un conjunt d’instruccions lleugerament modificades a l’hora de construir la vostra dApp. Els usuaris de Windows ara poden seguir els tutorials d’Ethereum per a Linux o Mac.
Una lectura molt entretinguda, que m’ha recomanat Avery Erwin, és la de Neal Stephenson “Al principi era la línia d’ordres”, un assaig / llibre sobre la seva experiència personal amb els sistemes operatius durant el període de temps descrit en aquesta breu història.
Conclusió
Aquest tutorial i breu historial proporciona a l’usuari de Windows una idea de com configurar el seu entorn de desenvolupament mitjançant WSL 2, Ubuntu, VSCode, npx, Node, npm i Truffle. També proporciona una mica de la història de com i per què hem de fer això. Si teniu comentaris o suggeriments útils basats en la vostra experiència, envieu-los a [protegit per correu electrònic] per tant, puc actualitzar aquest article i acreditar-vos la vostra contribució.
Un agraïment especial a Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson i més amics amables per la vostra ressenya i comentaris sobre aquest tutorial i la història. Agraeixo els vostres comentaris.
Desenvolupadors Contractes intel·ligents Windows Newsletter Subscriviu-vos al nostre butlletí per obtenir les últimes novetats, solucions empresarials, recursos per a desenvolupadors i molt més sobre Ethereum.