Voinko luoda Linux- / MacOS-tyyppisen Ethereum Developer Setup -sovelluksen Windowsissa?: Opas Windows-alijärjestelmän asentamiseen Linuxille

blogi 1NewsDevelopersEnterpriseBlockchain ExplainedTapahtumat ja konferenssitPainaUutiskirjeet

tilaa uutiskirjeemme.

Sähköpostiosoite

Kunnioitamme yksityisyyttäsi

EtusivuBlogiKehittäjät

Voinko luoda Linux- / MacOS-tyyppisen Ethereum Developer Setup -sovelluksen Windowsissa?: Opas Windows-alijärjestelmän asentamiseen Linuxille

Vaiheittaiset ohjeet WSL 2: n käytöstä Ethereum-älykkäiden sopimusten kehitysympäristön ja työnkulun määrittämiseen Thomas Hay · 18. marraskuuta 2020 Lähetetty 18. marraskuuta 2020

estoketju

ConsenSys Akatemiassa pyysimme kaikkia kehittäjäohjelman käyttäjiä lataamaan aluksi Virtual Box ja Ubuntu. Tavoitteenamme on, että jokaisella opiskelijalla voi olla yhdenmukainen käyttökokemus paikallista kehitysympäristöään perustettaessa. Riippumatta heidän alkuperäisestä käyttöjärjestelmästään, kaikilla olisi Ubuntu ja he voivat käyttää samaa ohjelmistoa. Tämä on teoriassa hyvä idea. Käytännössä olemme työskennelleet opiskelijoiden kanssa käsittelemään heidän koneellaan käytettävissä olevaan muistiin liittyviä kysymyksiä, jotta tämä toimisi. Lähes aina, Mac-käyttäjät etenevät lataamatta Ubuntua, koska MacOS on Unix-pohjainen järjestelmä. Windows-käyttäjät ovat usein turhautuneita, koska he eivät kyenneet käyttämään kehitystyökaluja noudattaen alkuperäisessä käyttöjärjestelmässä suosittelemiamme ohjeita, ja jos he halusivat suorittaa kaiken Windowsissa, heidän oli noudatettava samoin kuin joukko ohjeita, jotka olivat rinnakkaisia ​​Linuxin kanssa. ja MacOS-käyttäjät. 

Olimme seuranneet Windows-alijärjestelmän kehitystä Linuxille (WSL). WSL 2: n käynnistäminen tapahtui samanaikaisesti nykyisen Bootcamp-opiskelijaryhmämme kysymysten kanssa siitä, voisivatko he käyttää WSL 2: ta virtuaalilaatikon lataamisen sijaan. Minusta oli ohi keskittyä enemmän WSL 2: n käyttämiseen tarjoamalla Windows-käyttäjille Linux-tyyppinen kehittäjäkokemus suosittelemiamme Ethereum-työkaluja käytettäessä. Tämä artikkeli jakaa kanssasi joitain erikoispiirteitä, joita olemme havainneet käyttäessäsi WSL 2: ta Ethereumin kehittäjäympäristön määrittämisessä (kuten mitä sinun on tehtävä voidaksesi hyödyntää tryffeli komennot). 

Ekosysteemissämme on monia hyödyllisiä artikkeleita ja oppaita, mutta ihmiset luovat ne olettaen, että käyttäjällä on asennettuna Linux tai MacOS. Haluan Ethereumin olevan kaikkien saatavilla ja halusin jakaa mielestäni tällä hetkellä helpoimman tavan kehittäjille, jotka käyttävät Windowsia kehittäessään kehitysympäristöään, jotta he voivat seurata suurimman osan älykkäiden sopimusten kehittämisestä julkaistuista artikkeleista.

Voit siirtyä alla olevaan opetusohjelmaan tai siirtyä eteenpäin lyhyeen historiaan siitä, miksi Linux- ja MacOS-käyttäjillä oli perinteisesti helpompi polku kehittäjien työkaluihin Ethereum.

WSL 2: n käyttäminen Ethereum Developer -ympäristön määrittämiseen

Vaihe 1: WSL 2: n lataaminen

TLDR; Windows tekee todella hyvää työtä kävellessään läpi ohjeet WSL 2: n asentamiseen koneellesi. “Windows-alijärjestelmä Linuxille -asennusopas Windows 10: lle”On kattava artikkeli, koska se täyttää otsikon vaatimukset ja tarjoaa vianetsintävinkkejä. Huomasimme myös, että katselu alkaa 8:24 WSL2: Koodaa nopeammin Windows-alijärjestelmässä Linuxille! | Välilehdet vs. välilyönnit video antaa lisäkontekstia siitä, miten WSL otetaan käyttöön graafisen käyttöliittymän (GUI) kautta komentorivin (tai PowerShellin) kautta. Saatat joutua käynnistämään tietokoneen uudelleen useita kertoja, ja joissakin tapauksissa tämä saattaa kestää jonkin aikaa, riippuen koneesi laitteistosta. Olisin valmis varaamaan puolen päivän pahimmassa tilanteessa vain hallitsemaan odotuksiasi kaikista asennuksista, joita aiot tehdä.

Vaiheessa 6 edellä mainittu artikkeli, Päätin asentaa Ubuntu 20.04 LTS, koska minulla oli mukavin tämä jakelu verrattuna muihin lueteltuihin. Yritin asentaa Ubuntun toimitetun linkin kautta Windows-kauppaan, johon pääsin verkkoselaimellani, mutta Windows-koneeni kehotti sitten asentamaan sisäänrakennetun Microsoft Store -sovelluksen avulla.

Asensin myös Windows-pääte, mikä oli vapaaehtoista. Tein tämän tekemällä joukko virheitä, jotka näet vaiheessa 3. Sen sijaan, että jatkaisin “omaa tietäni”, päätin seurata sitä, mitä Microsoft kertoi minulle. Windows Terminalin etuna on, että pääteikkunassa voit avata useita käyttöjärjestelmien välilehtiä.


Vaihe 2: Suorita WSL 2 VSCoden rinnalla

Suosittelemme, että käytät mitä tahansa mukavinta IDE: tä. Henkilökohtaisesti käytän VSCode-koodia, joten halusin selvittää, miten voisin käyttää VSCodea WSL 2: n rinnalla. Minulla on jo VSCode asennettuna, joten jos sinulla ei ole sitä asennettuna, asenna se. Sitten, jotta saisin sen toimimaan Ubuntun rinnalla, löysin vastauksen osoitteesta 5:31 Microsoftin luomasta WSL-videosta.

Komennon käyttäminen:

koodi. 

latasi, asensi ja käynnisti automaattisesti VSCode-koodin, mutta huomasin, että laajennuksiani, joita käytän älykkäiden sopimusten kirjoittamiseen, ei asenneta automaattisesti.

Napsauttamalla vain vihreää tekstiä, joka on asennettu WSL: Ubuntu. VSCode myös kehotti minua asentamaan lisää kirjastoja VSCode-päätelaitteen kautta ja pyysi minua antamaan salasanani Linux-jakelulle (joka on Ubuntu 20.04 LTS)

On pidempi opetusohjelma nimeltä Aloita Visual Studio Code for Windows Subsystem for Linux -ohjelmiston käyttö Tämä tarjoaa pidemmän läpikäynnin, jos et ole vielä asentanut VSCode-koodia. Tästä eteenpäin tein kaikki seuraavat vaiheet VSCode-päätelaitteen sisällä, joka oli nyt perustettu bash-kuoreksi.

Vaihe 3. Asenna nvm, Node ja npm

Ennen kehittäjän työkalujen, kuten tryffeli, asentamista meidän on asennettava nvm, Node ja npm. Katso suoraan artikkelista Määritä NodeJS-kehityksesi WSL 2: lla.  

Ensimmäinen idiosynkrasia, johon törmäsin, oli, että dokumentaatiossa ei ollut uusinta versiota nvm: stä, ja siksi suosittelen siirtymään nvm GitHub-arkisto selvittääksesi nykyisen julkaisun. Kun suoritin nvm: n, kun suoritin komennon -v nvm varmistaakseni, että se on asennettu päätelaitteeseeni, mitään ei tapahtunut (nvm pitäisi palauttaa). Se ehdotti, että suljen päätelaitteeni ja avaan sen uudelleen, sitten suoritetaan komento uudelleen. Kun tein tämän, sain nvm.

Sitten kirjoitin nvm install solmu-lts valitsin LTS (pitkäaikainen vakaa) julkaisu. Tarkastettuani, että sekä solmu että npm olivat asennettuna (solmu –versio, npm –versio). Muutin seuraavaan vaiheeseen. 

Älä tee seuraavaa

Tämä on selkeä esimerkki siitä, että dokumentaatiota ei lueta (lue aina dokumentaatio). Edellä kuvatut vaiheet tein sen jälkeen kun menin ensin polulle en lukenut dokumentteja kokonaan. Aikajärjestyksessä avasin ensin päätelaitteen VSCode-koodilla ja kirjoitin

solmu -v

nähdäksesi, olinko asentanut sen. Koska minulla ei ollut solmua asennettuna, seuraava palasi:

Kirjoitin ehdotetun

sudo apt asenna nodejs

ja minulta pyydettiin salasanaa. Linux-jakeluni (Ubuntu 20.04 LTS). Kirjoitin sitten

solmu -v

Palautettu versio oli 10.19.0. Katsoin Node.js-verkkosivustoa ja suositeltu vakaa julkaisu oli 14.15.0 LTS. Ei mitä halusin tapahtua. Lisäksi kun kirjoitin

npm -v

nähdäksesi onko minulla ollut asennettuna NPM, sain takaisin huonon tulkin: Ei sellaista tiedostoa tai hakemistoa. Mikä meni vikaan? Jos aloitin vain lukemalla artikkelin, olisin nähnyt seuraavan

“Solmun versio, joka voidaan asentaa Ubuntun apt-get -komennolla, on tällä hetkellä vanhentunut”

Jos huomaat menneesi tätä polkua, sinun on poistettava Nodejs – tässä on hyödyllisiä ohjeita, mutta käytät komentoa

sudo apt-get purge nodejs

terminaalissa.

Jos navigoit suoraan Node.js-verkkosivustolle ja lataat ja asennat, asennat Windows-jakelun, jota et voi käyttää Ubuntussa. Joten lue ensin yllä olevat ohjeet äläkä yritä vain “hypätä sisään:.

Opi virheistäni ja säästä itsellesi aikaa. Lue ohjeet.

Vaihe 4. Asenna tryffelisarja

Tässä vaiheessa voisin nyt seurata ConsenSys-kehittäjäportaalissa kuvattuja vaiheita.

Muista poistaa kehitysketjun kommentit (kuten alla) truffle-config.js-tiedostossa

Jos et, saat seuraavan virheen:

Odota … Asensin kaiken ja tapahtui virhe, kävelin pois, ja nyt kun se on käynnissä, olen unohtanut salasanani linux-jakeluun!!!

Ahh, kyllä. Minäkin olen tehnyt tämän. Löysin artikkelin “Luo käyttäjätili ja salasana uutta Linux-jakelua varten” erittäin avuliasta. 

Asennukset, jotka olen asentanut Windowsiin, eivät näy, kun suoritan Ubuntu! Mikä antaa!!

Muista, että Ubuntu on erilainen käyttöjärjestelmä kuin Windows. Windowsiin asennettujen ohjelmien ei odoteta suorittavan Ubuntu-jakelua välittömästi ja päinvastoin, elleivät ne ole erityisiä ohjelmia, jotka on määritetty tekemään niin – esimerkkinä on Windows Terminal. Oletetaan, että kaikki, jotka asennat yhteen, ei toimi toisessa, jotta se olisi turvallista.

Mitä seuraavaksi?

Seuraa nyt vaihetta 2: Luo älykäs sopimus ja vaihe 3: Käynnistä hajautettu sovellus samoilla komennoilla kuin nämä oppaat tarjoavat.

Lyhyt käyttöjärjestelmien historia ja asiayhteys Ethereum-kehittäjille

Miksi Windows-käyttäjillä on erilainen kokemus Ethereum-kehittäjien työkaluista kuin niillä, jotka käyttävät Linuxia tai MacOS: ää? Linux ja MacOS eivät ole sama käyttöjärjestelmä, ja Linux-jakeluja on lukemattomia. Näyttää siltä, ​​että eri käyttöjärjestelmien käsittelemiseksi on oltava useita työkalusarjoja. Tähän kysymykseen vastaaminen vaatii lyhyen historiatunnin. Suosittelen katsomaan Crash Course’s Video -videota Käyttöjärjestelmät: Kaatumiskurssi Tietojenkäsittelytiede # 18 Tiivistä taustatietoja. 

Tarinamme nousee Unixin kanssa. Jälkeen Unix julkaistiin vuonna 1969, tämä käyttöjärjestelmä vakiintui nopeasti laskentayhteisöön. Tietojenkäsittelyä hallitsivat hyvin paljon tutkimus-, suuryritys- tai harrastaja- / hakkeriyhteisöt 1970-luvulla, eikä sillä ollut graafisia käyttöliittymiä, joihin olemme tottuneet tänään. Unix oli päätelaitteinen tällä hetkellä, joten kaikki tapahtui sen avulla, mitä kutsumme komentoriviksi.

1980-luku tapahtui samaan aikaan, kun Microsoft ja Apple julkaisivat suosittuja käyttöjärjestelmiä henkilökohtaisen tietojenkäsittelyn yleisölle. Näiden käyttöjärjestelmien tuomat parannukset sekä laitteisto- ja muistikustannusten lasku auttoivat kasvattamaan yliopistojen tai liike-elämän ulkopuolella olevien ihmisten määrää, joilla on varaa tietokoneella henkilökohtaiseen käyttöön. Microsoft julkaisi Microsoft Disk Operating Systemin (MS-DOS) vuonna 1981. Kun Microsoft Windows julkaistiin vuonna 1985, tämä graafinen käyttöliittymäpohjainen käyttöjärjestelmä rakennettiin MS-DOS-koodipohjan päälle, mikä tekee tietokoneesta paljon helpomman loppukäyttäjän saataville.

Apple itse asiassa salli useiden käyttöjärjestelmien käynnistämisen Apple II: lla, jota alettiin myydä ensimmäisen kerran 1970-luvun lopulla. Mutta Apple ymmärsi ennen Microsoftia, kuinka tärkeä graafinen käyttöliittymä olisi henkilökohtaisen tietokoneen käyttöönoton edistämisessä. Applen ensimmäinen GUI-pohjainen käyttöjärjestelmä, Macintosh-käyttöjärjestelmä (nyt nimeltään Classic MacOS), on peräisin Apple Lisa (LisaOS), tietokone julkaistiin vuonna 1983. Lisan käyttöjärjestelmä innostui voimakkaasti Xeroxin Palo Alto -tutkimuskeskuksessa (PARC) tehdystä työstä, ja monet Xerox PARC -tiimistä työskentelivät Applella. Kun paljon suositumpi Apple Macintosh julkaistiin vuonna 1984, Classic MacOS oli käynnissä siinä. Katsellessani vanhoja kuvia ja videoita Macintoshista hämmästyin siitä, kuinka tuttu käyttöliittymä, jonka Classic MacOS on, nykyään Apple-tietokoneellani käynnissä oleviin MacOSiin.

Unix oli ollut hallitseva käyttöjärjestelmä tietokonemaailmassa, ja se oli edelleen suosittu henkilökohtaisen laskentatilan ulkopuolella 1980-luvulla. 1980-luvulla se tarkoitti sitä, että oli olemassa kolme erilaista käyttöjärjestelmää, jotka oli rakennettu kolmelle eri koodipohjalle. Ohjelman käyttäminen kaikissa käyttöjärjestelmissä ei voi tapahtua luontaisesti. Ohjelmat oli muutettava toimimaan käyttöjärjestelmän kanssa. Applen ja Microsoftin GUI-pohjaiset käyttöjärjestelmät tekivät tietojenkäsittelystä massien saataville. Kehittäjille tietokoneelle toimivan sovelluksen rakentaminen vaati käyttöjärjestelmän tuntemista (ja se toimii edelleen). Mutta Apple tekisi valintoja, jotka tekisivät Unix-komentoja tunteville kehittäjille helpommaksi käyttää MacOS: ää tai Unix-pohjaista käyttöjärjestelmää vähemmän sisäänpääsyn esteenä.

Apple alkoi liikkua kohti a Unix-pohjainen käyttöjärjestelmä, vuodesta 1988, jolloin Unix-pohjainen A / UX julkaistiin. Rinnakkaisella radalla, NeXT, jonka Steve Jobs perusti vuonna 1985 poistuessaan Applesta, loi Unix-pohjaisen käyttöjärjestelmän nimeltä NeXTSTEP. Apple osti NeXT: n vuonna 1996 ja hankki henkisen omaisuuden, josta tulee MacOS X. Lyhyesti sanottuna Applen perustaja jätti yrityksen, perusti toisen tietokoneyrityksen tietokoneiden ja käyttöjärjestelmien rakentamiseksi, minkä sitten osti yritys, jonka hän perusti ensimmäisen kerran ja jonka jälkeen hänestä tuli toimitusjohtaja, ja otti sitten projektin hänen uuden yrityksensä, ja ohjelmistoprojekti rakennettiin MacOS: n perustaksi, jota käytän tällä hetkellä Apple-tietokoneellani. Walter Issacsonin julkaisussa Steve Jobs on lainaus Oraclen perustajista Larry Ellisonilta keskustelusta, jonka hän kävi Steve Jobsin kanssa heidän ollessaan lomalla Havaijilla..

“Tiedät Larryn, luulen, että olen löytänyt minulle keinon palata takaisin Appleen ja saada hallita sitä ilman sinun tarvitse ostaa sitä”, Jobs sanoi kävelemällä pitkin rantaa. Ellison muisteli: “Hän selitti strategiansa, joka oli saada Apple ostamaan NeXT, sitten hän menisi hallitukseen ja olisi yhden askeleen päässä toimitusjohtajasta.”

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

Joten MacOS: sta tuli Unix-pohjainen käyttöjärjestelmä, ja se mahdollisti Unix-komennon suorittamisen MacOS: n päätelaitteessa.

Windows ei tullut Unix-tyyppiseksi. Windows 95/98: n suuren menestyksen jälkeen, Windows muutti käyttöjärjestelmän rakentamisen NT: n ulkopuolelle (lyhenne NT ei enää tarkoita mitään, mutta NT: n valinnoissa on monia teorioita ja historioita – hauska kanin reikä, joka menee alas, jos olet kiinnostunut Microsoftin historiasta). Windows 2000: sta alkaen Microsoft vanhentui riippuvuudesta DOS: sta (johti tähän uskomattomaan videoon, jossa Bill Gates sammuttaa DOS: n, kun Windows XP julkaistiin). Windows on jatkanut NT-pohjaista käyttöä kaikissa myöhemmissä julkaisuissa, mukaan lukien Windows 10.

Applen ja Microsoftin välille syntyisi kolmas kilpailija. Linus Torvalds kehitti ja julkaisi Linuxin vuonna 1991. Se on Unix-tyyppinen käyttöjärjestelmä, ja koska se on sekä ilmainen että helposti muokattavissa, ja kehittäjäyhteisöt, jotka eivät halunneet lukita Applea tai Microsoftia, hyväksyivät sen nopeasti. Linux jatkoi suosiotaan, ja sitä havaittiin käyttävän monissa erilaisissa laskentaympäristöissä. Esimerkiksi Android, joka on mobiili käyttöjärjestelmä, on rakennettu Linuxille ja on suosituin älypuhelinten käyttöjärjestelmä. Linux ylläpiti myös Unix-komentoja. Lisätietoja Linuxista, Käynnissä Linux, kolmas painos on kattava resurssi.

Unixin ulkopuolinen sijainti on tarkoittanut, että MacOS-päätteeseen ja Linux-päätelaitteeseen kirjoitetut komennot ovat syntaktisesti samat, koska molemmat käyttävät bash-kuorta (tai jotakin sen johdannaista, kuten zsh). Windows-käyttäjien on usein käännettävä komento, jonka he näkevät opetusohjelmassa, jotta bash-kuori toimisi Windows PowerShellissä tai Cmd: ssä. Linux- tai MacOS-käyttäjät voivat vain suorittaa komennon. Kehittäjät viettävät tonnin ajan terminaalissa. Tämä on tarkoittanut tiettyjen kehitystyökalujen asentamista ja käyttöä Ethereumille (ja monille muille kielille), kuten nvm, Node, npm ja Truffle, on vaatinut erilaiset ohjeet Windows-käyttäjille. 

Tuloksena on, että Linuxin ja MacOS: n välillä on parempi yhteensopivuus – ja siksi monia Ubuntu-päätelaitteessa, Linux-jakelussa, käytettyjä komentoja voidaan käyttää (suurelta osin) vaihdettavasti myös MacOS-päätelaitteessa. Windows on aiemmin levinnyt Unix-pohjaiseen käyttöjärjestelmään, mutta WSL: n julkaisu vuonna 2016 Windows 10: lle oli ensimmäinen kerta, kun Windows-käyttäjät pystyivät käyttämään Linux-ydintä samalla, kun he käyttivät Windowsia ilman virtuaalikonetta. WSL 2 on luonut kevyen virtuaalikoneen, joka toimii Windowsin sisällä, mikä tarkoittaa, että kehittäjän ei tarvitse enää käsitellä muistia ja tallennustilaa koskevia kysymyksiä, jotka liittyvät virtuaaliruudun lataamiseen tai VMWaren käyttöön Ubuntu-sovelluksen asentamiseen..

Miksi tämä vaikuttaa Ethereumin kehittäjiin? Ethereumin Genesis Block tapahtui 30. heinäkuuta 2015, ja Ethereumin perustajien ja ConsenSysin perustajien Joe Lubinin mukaan suurin osa kehityksestä tapahtui Ubuntussa ja MacOS X: ssä. Siksi ei ole yllättävää, että suuri osa alkuperäisistä työkaluista toimi hyvin Unixin kaltaisilla käyttöjärjestelmillä. Vaikka työkaluja on kehitetty erityisesti Windowsille, kehittäjien kokemus on usein parempi, kun he voivat käyttää Unix-tyyppistä päätelaitetta ohjelmistojen asentamiseen ja komentojen suorittamiseen. 

Microsoft työskenteli saadakseen WSL 2: n ulos, ja se on parantunut sinne, missä monet yhteisössä ovat käyttäneet sitä vuoden 2018 lopusta lähtien Linux-jakelun asentamiseen. Jos käytät Windowsia, sinulla ei enää ole kipua noudattaa hieman muokattuja ohjeita, kun rakennat dApp-sovellustasi. Windows-käyttäjät voivat nyt seurata Ethereumin opetusohjelmia Linuxille tai Macille.

Nery Stephensonin lukema on erittäin viihdyttävä, Avery Erwinin suosittelema lukemani “Alussa oli komentorivi”, essee / kirja hänen henkilökohtaisesta kokemuksestaan ​​käyttöjärjestelmistä tässä lyhyessä historiassa kuvatun ajanjakson aikana.

Johtopäätös

Tämä opetusohjelma ja lyhyt historia antavat Windows-käyttäjälle oivalluksen siitä, kuinka heidän kehitysympäristöään voidaan määrittää WSL 2: n, Ubuntu, VSCode, npx, Node, npm ja tryffeli avulla. Se antaa myös vähän historiaa siitä, miten ja miksi meidän on tehtävä tämä. Jos sinulla on kokemukseesi perustuvia kommentteja tai hyödyllisiä vinkkejä, lähetä ne osoitteeseen [sähköposti suojattu] joten voin päivittää tämän artikkelin ja kiittää sinua panoksestasi.

Erityiset kiitokset Onyebuchille Valentine Ahiwelle, Clemens Wanille, Anthony Albertoriolle, Eli Geschwindille, Nick Nelsonille ja ystävällisemmille ystäville arvostelusta ja kommenteista tästä opetusohjelmasta ja historiasta. Arvostan kommenttejasi.

KehittäjätÄlykkäät sopimuksetWindowsNewsletterTilaa uutiskirjeemme, niin saat uusimmat Ethereum-uutiset, yritysratkaisut, kehittäjien resurssit ja paljon muuta.

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