blog 1HaberlerGeliştiricilerEnterpriseBlockchain AçıklamasıEtkinlikler ve KonferanslarBasınBültenler

Haber bültenimize abone ol.

E

Senin gizliliğine saygı duyuyoruz

Ana SayfaBlogGeliştiriciler

Windows’ta Linux / MacOS Benzeri Bir Ethereum Geliştirici Kurulumu Oluşturabilir miyim ?: Linux için Windows Alt Sistemini Kurma Kılavuzu

Ethereum akıllı sözleşme geliştirme ortamınızı ve iş akışınızı kurmak için WSL 2’yi nasıl kullanacağınıza dair adım adım talimatlar tarafından Thomas HayKasım 18, 2020Yayınlandı 18 Kasım 2020

blok zinciri


ConsenSys Academy’de, Geliştirici Programındaki herkesten başlangıçta bir Virtual Box ve Ubuntu indirmelerini istedik. Amacımız, her öğrencinin yerel geliştirme ortamını kurarken tutarlı bir kullanıcı deneyimine sahip olabilmesidir. Yerel işletim sistemi (OS) ne olursa olsun, herkes Ubuntu’ya sahip olacak ve aynı yazılımı çalıştırabilecekti. Bu teoride iyi bir fikir. Uygulamada, bu işi yapmak için öğrencilerle birlikte makinelerindeki kullanılabilir bellekle ilgili sorunları ele almak için çalıştık. MacOS’un Unix tabanlı bir sistem olması nedeniyle, Mac kullanıcıları hemen hemen her zaman Ubuntu’yu indirmeden devam edecekler. Windows kullanıcıları, yerel işletim sistemlerinde önerdiğimiz talimatları izleyerek geliştirme araçlarını kullanamadıklarından ve her şeyi Windows üzerinde çalıştırmak istiyorlarsa, Linux için olanlara paralel bir dizi talimatla birlikte takip etmeleri gerektiğinden, genellikle hayal kırıklığına uğrarlar. ve MacOS kullanıcıları. 

Linux için Windows Alt Sisteminin (WSL) gelişimini izliyorduk. WSL 2’nin piyasaya sürülmesi, mevcut Bootcamp öğrencilerimizin bir Sanal Kutu indirmek yerine WSL 2 kullanıp kullanamayacaklarına ilişkin sorularıyla aynı zamana denk geldi. Önerdiğimiz Ethereum aracını kullanırken Windows kullanıcılarına Linux benzeri bir geliştirici deneyimi sağlamak için WSL 2’nin nasıl kullanılacağına daha fazla odaklanmanın geçmişte kaldığını hissettim. Bu makale, Ethereum geliştirici ortamınızı kurmak için WSL 2’yi kullanırken karşılaştığımız bazı özellikleri sizinle paylaşacaktır (örneğin, kullanmak için yapmanız gerekenler gibi). yer mantarı komutlar). 

Ekosistemimizde pek çok yararlı makale ve öğretici var, ancak insanlar bunları kullanıcının Linux veya MacOS yüklü olduğunu varsayarak oluşturuyor. Ethereum’un herkes tarafından erişilebilir olmasını istiyorum ve şu anda Windows kullanan geliştiriciler için geliştirme ortamlarını kurmanın en kolay yolu olduğuna inandığım şeyi paylaşmak istedim, böylece akıllı sözleşmeler geliştirme üzerine yayınlanan makalelerin çoğunu takip edebilecekler..

Aşağıdaki eğiticiye atlayabilir veya Linux ve MacOS kullanıcılarının neden geleneksel olarak Ethereum’da geliştirici araçlarına daha kolay bir yol sunduğuna dair kısa bir geçmişe geçebilirsiniz..

Ethereum Geliştirici Ortamınızı Kurmak için WSL 2’yi Kullanma

Adım 1: WSL 2’yi İndirme

TLDR; Windows, WSL 2’yi makinenize nasıl yükleyeceğiniz konusunda size yol gösterme konusunda gerçekten iyi bir iş çıkarıyor. “Windows 10 için Linux Kurulum Kılavuzu için Windows Alt Sistemi“Kapsamlı bir makaledir çünkü hem başlığa uygundur hem de sorun giderme ipuçları sağlar. Ayrıca izlemeyi de bulduk. 8:24 WSL2: Linux için Windows Alt Sisteminde daha hızlı kodlayın! | Sekmeler ve Boşluklar video, WSL’nin komut satırı (veya PowerShell) yerine grafik kullanıcı arabirimi (GUI) aracılığıyla nasıl etkinleştirileceği konusunda ek bağlam sağlar. Bilgisayarınızı birkaç kez yeniden başlatmanız gerekebilir ve bazı durumlarda, makinenizin sahip olduğu donanıma bağlı olarak bu biraz zaman alabilir. Sadece yapmak üzere olduğunuz tüm kurulumlar için beklentilerinizi yönetmek için en kötü durum senaryosu olarak yarım günü bir kenara ayırmaya hazır olacağım..

6. adımda bahsi geçen makale, Yüklemeyi seçtim Ubuntu 20.04 LTS, çünkü bu dağıtımda listelenen diğerlerine göre en rahat olduğum şeydi. Ubuntu’yu, sağlanan Windows mağazasına bağlantı yoluyla, web tarayıcımdan erişmeyi denedim, ancak Windows makinem daha sonra yerleşik Microsoft Store Uygulamasını kullanarak yüklememi istedi.

Ben de kurdum Windows Terminali, bu isteğe bağlıydı. Bunu 3. Adımda göreceğiniz bir dizi hata yaptıktan sonra yaptım. “Kendi yoluma gitmeye” devam etmek yerine, Microsoft’un bana söylediklerini takip etmeye karar verdim. Windows Terminal’in avantajı, bir terminal penceresinde farklı işletim sistemlerinin birden çok terminal sekmesini açabilmenizdir..

Adım 2: WSL 2’yi VSCode ile birlikte çalıştırma

En rahat olduğunuz IDE’yi kullanmanızı öneririz. Şahsen ben VSCode kullanıyorum, bu yüzden VSCode’u WSL 2 ile birlikte nasıl kullanabileceğimi bulmak istedim. VSCode’u halihazırda kurdum, bu yüzden eğer yüklü değilse, devam edin ve kurun. Sonra, Ubuntu ile birlikte çalışmasını sağlamak için cevabı şu adreste buldum: Microsoft tarafından oluşturulan WSL ile ilgili bir videonun 5:31’i.

Komutu kullanarak:

kodu. 

VSCode’u otomatik olarak indirdi, kurdu ve başlattı, ancak akıllı sözleşmeler yazmak için kullandığım uzantılarımın otomatik olarak yüklenmediğini fark ettim.

Basitçe WSL: Ubuntu’da yüklü olan yeşil metne tıklayın. VSCode ayrıca VSCode içindeki terminal aracılığıyla bazı ek kitaplıklar yüklememi istedi ve Linux dağıtımım için parolamı (Ubuntu 20.04 LTS) girmemi istedi.

Adlı daha uzun bir öğretici var Linux için Windows Alt Sistemi için Visual Studio Code kullanmaya başlayın VSCode’u henüz kurmadıysanız, daha uzun bir izlenecek yol sağlar. Bu noktadan itibaren, şu anda bir bash kabuğu olarak kurulmuş olan VSCode terminalinin içinde aşağıdaki tüm adımları gerçekleştirdim..

Adım 3. nvm, Node ve npm’yi yükleyin

Truffle gibi geliştirici araçlarını kurmadan önce nvm, Node ve npm’yi kurmamız gerekiyor. Doğrudan makaleye bakın WSL 2 ile NodeJS geliştirmenizi ayarlayın.  

Karşılaştığım ilk özel durum, belgelerin listelenen en güncel nvm sürümüne sahip olmamasıydı ve bu nedenle, nvm GitHub deposu mevcut sürümü öğrenmek için. Nvm’yi kurduktan sonra, terminalime kurulduğunu doğrulamak için -v nvm komutunu çalıştırdığımda hiçbir şey olmadı (nvm döndürülmeli). Terminalimi kapatıp yeniden açmamı ve ardından komutu tekrar çalıştırmamı önerdi. Bunu yaptığımda nvm aldım.

Sonra, nvm yükleme düğümünü yazdım –lts LTS (uzun vadeli kararlı) sürümünü seçtim. Hem node hem de npm’nin kurulu olup olmadığını kontrol ettikten sonra (düğüm –version, npm –version). Bir sonraki adıma geçtim. 

Aşağıdakileri yapmayın

Bu, belgeleri okumamanın açık bir örneğidir (her zaman belgeleri okuyun). Yukarıda detaylandırdığım adımlar, ilk önce dokümanları tamamen okumama yolundan geçtikten sonra yaptım. Kronolojik olarak, önce terminali VSCode ile açtım ve yazdım

düğüm -v

kurup kurmadığımı görmek için. Düğüm kurmadığım için aşağıdakiler döndü:

Önerileni yazdım

sudo apt install nodejs

ve linux dağıtımım için (Ubuntu 20.04 LTS) parolam istendi. Sonra yazdım

düğüm -v

Geri dönen sürüm 10.19.0 idi. Node.js web sitesine baktım ve önerilen kararlı sürüm 14.15.0 LTS idi. Olmak istediğim şey değil. Ek olarak, yazdığımda

npm -v

NPM’nin kurulu olup olmadığını görmek için kötü yorumlayıcıyı geri aldım: Böyle bir dosya veya dizin yok. Ne yanlış gitti? Makaleyi okuyarak başlasaydım, aşağıdakileri görürdüm

“Ubuntu’nun apt-get komutuyla yüklenebilen Node sürümü şu anda güncel değil”

Kendinizi bu yola girdiğinizi fark ettiyseniz, Nodejs’yi kaldırmanız gerekir – işte bazı yararlı talimatlar, ama komutu kullanacaksın

sudo apt-get purge nodejs

bunu yapmak için terminal içinde.

Doğrudan Node.js web sitesine gidip indirip yüklerseniz, Ubuntu’da kullanamayacağınız Windows dağıtımını kuracaksınız. Bu nedenle, önce yukarıdaki dokümantasyonu okuyun ve sadece “atlamaya çalışın:.

Hatalarımdan ders alın ve kendinize zaman kazandırın. Belgeleri okuyun.

Adım 4. Truffle Suite’i kurun

Bu noktada artık ConsenSys Geliştirici Portalı’nda açıklanan adımları takip edebilirim..

Truffle-config.js dosyasında geliştirme ağının (aşağıda görüldüğü gibi) açıklamasını kaldırdığınızdan emin olun.

Bunu yapmazsanız, aşağıdaki hatayı alırsınız:

Bekle… Hepsini ayarladım ve bir hata oluştu, uzaklaştım ve şimdi çalıştırdığım için linux dağıtımımın şifresini unuttum!!!

Ahh, evet. Bunu ben de yaptım. “Makaleyi buldum”Yeni Linux dağıtımınız için bir kullanıcı hesabı ve parola oluşturun” çok yararlı. 

Windows’a yüklediğim şeyler Ubuntu’yu çalıştırdığımda görünmüyor! Ne oluyor!!

Unutmayın, Ubuntu, Windows’tan farklı bir işletim sistemidir. Windows’a yüklenen programların, Ubuntu dağıtımını anında çalıştırması beklenmez, bunun için yapılandırılmış özel programlar olmadıkça, örneğin Windows Terminali Ubuntu dağıtımını çalıştırır. Güvende olmak için birine yüklediğiniz herhangi bir şeyin diğerinde çalışmayacağını varsayın..

Sıradaki ne?

Şimdi Adım 2: Akıllı Sözleşme Oluşturun ve Adım 3: Bu eğitimlerin sağladığı komutların aynılarını kullanarak Merkezi Olmayan Bir Uygulama Başlatın adımlarını izleyin..

İşletim Sistemlerinin Kısa Tarihi ve Ethereum Geliştiricileri İçin Bağlam

Neden Windows kullanıcıları Ethereum geliştirici araçlarıyla Linux veya MacOS kullananlardan farklı bir deneyime sahip? Linux ve MacOS aynı işletim sistemi değildir ve sayısız Linux dağıtımı vardır. Görünüşe göre, çeşitli işletim sistemleriyle başa çıkmak için birden fazla takım seti olması gerekecek. Bu soruyu cevaplamak için kısa bir tarih dersi gerekir. Crash Course’un Videosunu izlemenizi öneririm İşletim Sistemleri: Crash Course Bilgisayar Bilimleri # 18 bazı kısa arka plan bilgileri için. 

Hikayemiz Unix ile devam ediyor. Sonra 1969’da Unix’in piyasaya sürülmesi, bu işletim sistemi, bilgi işlem topluluğuna hızla yerleşti. Bilgi işlemciliğe, 1970’lerde araştırma, büyük işletmeler veya hobisi / bilgisayar korsanı toplulukları hakim olmuştu ve bugün alışık olduğumuz grafik kullanıcı arayüzlerine sahip değildi. Unix şu anda terminal tabanlıydı, bu nedenle her şey bizim komut satırı dediğimiz şeyle yapılıyordu..

1980’ler, Microsoft ve Apple’ın kişisel bilgi işlem kitlesi için popüler işletim sistemlerini piyasaya sürmesiyle aynı zamana denk geldi. Bu işletim sistemlerinin getirdiği gelişmeler, donanım ve bellek maliyetlerindeki düşüşün yanı sıra, akademi veya iş dünyası dışında kişisel kullanım için bir bilgisayar alabilen insan sayısının artmasına yardımcı oldu.. Microsoft, 1981’de Microsoft Disk İşletim Sistemini (MS-DOS) piyasaya sürdü.. Ne zaman Microsoft Windows 1985 yılında piyasaya sürüldü, bu grafik kullanıcı arabirimi tabanlı işletim sistemi MS-DOS kod tabanının üzerine inşa edildi., bilgisayarı son kullanıcı için daha erişilebilir hale getirmek.

Apple aslında ilk olarak 1970’lerin sonlarında satışa başlayan Apple II’de birden fazla işletim sisteminin başlatılmasına izin verdi.. Ancak Apple, Microsoft’tan önce, kişisel bilgisayarın benimsenmesini sağlamak için bir GUI’nin ne kadar önemli olacağını fark etti.. Apple’ın GUI tabanlı ilk işletim sistemi olan Macintosh İşletim Sistemi (şimdi Klasik MacOS olarak adlandırılır), Apple Lisa (LisaOS), 1983’te piyasaya sürülen bir bilgisayar. Lisa’daki işletim sistemi, Xerox’un Palo Alto Araştırma Merkezi’nde (PARC) yapılan çalışmadan büyük ölçüde esinlenmiştir., ve Xerox PARC ekibinin çoğu Apple’da çalıştı. 1984’te çok daha popüler olan Apple Macintosh piyasaya sürüldüğünde, üzerinde Klasik MacOS çalışıyordu.. Macintosh’un eski resimlerine ve videolarına bakarken, Classic MacOS’un bugün Apple bilgisayarımda çalışan MacOS’a ne kadar tanıdık bir arayüz olduğuna şaşırdım..

Unix, bilgi işlem dünyasında baskın işletim sistemiydi ve 1980’lerde kişisel bilgi işlem alanının dışında popüler olmaya devam etti. 1980’lerde bu, üç farklı kod tabanı üzerine inşa edilmiş üç farklı işletim sistemi olduğu anlamına geliyordu. Bu işletim sistemlerinde bir program kullanmak yerel olarak gerçekleşemez. Programların işletim sistemi ile çalışması için değiştirilmesi gerekiyordu. Apple ve Microsoft’un GUI tabanlı işletim sistemleri, bilgi işlemi kitleler için erişilebilir hale getirdi. Geliştiriciler için, bir bilgisayarda çalışabilecek bir uygulama geliştirmek, işletim sistemini bilmeyi gerektiriyordu (ve hala yapıyor). Ancak Apple, Unix komutlarına aşina olan geliştiricilerin MacOS veya Unix tabanlı bir işletim sistemini giriş engelini ortadan kaldıracak şekilde kullanmalarını kolaylaştıracak seçimler yapacaktır..

Apple, 1988’de Unix tabanlı A / UX piyasaya sürüldüğünde başlayan Unix tabanlı işletim sistemi. Paralel bir yolda, 1985’te Steve Jobs tarafından Apple’dan ayrıldıktan sonra kurulan NeXT, NeXTSTEP adlı Unix tabanlı bir işletim sistemi yaratıyordu.. Apple, 1996 yılında NeXT’yi satın aldı ve MacOS X olacak fikri mülkiyeti aldı.. Özetlemek gerekirse, Apple’ın kurucu ortağı şirketten ayrıldı, bilgisayarları ve işletim sistemlerini inşa etmek için başka bir bilgisayar şirketini kurdu ve daha sonra ilk olarak kurduğu şirket tarafından satın alındı, daha sonra CEO oldu ve daha sonra onun yeni şirketi ve bu yazılım projesi şu anda Apple bilgisayarımda çalıştırdığım MacOS’un temeli olacak şekilde inşa edildi. Walter Issacson tarafından yazılan Steve Jobs’ta Oracle’ın kurucu ortağı Larry Ellison, Hawaii’de tatildeyken Steve Jobs’la yaptığı bir konuşma hakkında bir alıntı var..

Jobs, kıyı boyunca yürürken, “Larry’yi biliyorsun, sanırım Apple’a geri dönüp onu satın almak zorunda kalmadan kontrolünü elime almam için bir yol buldum,” dedi. Ellison, “Apple’ın NeXT’yi satın almasını sağlayan stratejisini açıkladı, sonra yönetim kuruluna geçecek ve CEO olmaktan bir adım uzaklaşacaktı” dedi.

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

Böylece MacOS, Unix tabanlı bir işletim sistemi haline geldi ve Unix komutunun MacOS’taki terminalde çalışmasını mümkün kıldı..

Windows, Unix benzeri hale gelmedi. Windows 95 / 98’in büyük başarısından sonra, Windows, işletim sistemini NT’den kurmaya geçiş yaptı (NT kısaltması artık hiçbir şeyi ifade etmiyor, ancak NT seçenekleriyle ilgili birçok teori ve tarih var – Microsoft tarihiyle ilgileniyorsanız aşağıya inmek için eğlenceli bir tavşan deliği). Microsoft, Windows 2000’den başlayarak, DOS bağımlılığını kullanımdan kaldırmıştır (Bill Gates’in Windows XP piyasaya sürüldüğünde DOS’u kapattığı bu inanılmaz video). Windows, Windows 10 da dahil olmak üzere sonraki tüm sürümler için NT tabanlı olmaya devam etmiştir..

Apple ve Microsoft arasında üçüncü bir rakip ortaya çıkacaktı. Linux, 1991 yılında Linus Torvalds tarafından geliştirildi ve piyasaya sürüldü. Unix benzeri bir işletim sistemidir ve hem ücretsiz hem de kolayca özelleştirilebilir olması nedeniyle, Apple veya Microsoft’a kilitlenmek istemeyen geliştirici toplulukları tarafından hızla benimsenmiştir. Linux popülerlik kazanmaya devam etti ve kendisini birçok farklı bilgi işlem ortamında kullanıldı. Örneğin bir mobil işletim sistemi olan Android, Linux üzerine kurulu ve en popüler akıllı telefon işletim sistemidir. Linux ayrıca Unix kabuk komutlarını da korudu. Linux hakkında daha fazla bilgi için, Linux Çalıştırma, Üçüncü Sürüm kapsamlı bir kaynaktır.

Unix tabanlı olmak, MacOS terminalinde ve bir Linux terminalinde yazılan komutların sözdizimsel olarak aynı olduğu anlamına gelir çünkü her ikisi de bash kabuğunu (veya bunun zsh gibi bir türevini) kullanır. Windows kullanıcıları genellikle bash kabuğunun Windows PowerShell veya Cmd’de çalışması için yazılan bir öğreticide gördükleri bir komutu çevirmek zorundadır. Linux veya MacOS kullanıcıları sadece komutu çalıştırabilir. Geliştiriciler terminalde çok fazla zaman geçiriyor. Bu, Ethereum (ve diğer birçok dil) için nvm, Node, npm ve Truffle gibi belirli geliştirici araçlarının yüklenmesi ve kullanılması anlamına geliyordu ve Truffle, Windows kullanıcıları için farklı bir talimat seti gerektirdi.. 

Sonuç, Linux ve MacOS arasında daha fazla uyumluluk olduğu ve bu nedenle bir Linux dağıtımı olan Ubuntu terminalinde kullanılan komutların çoğunun (büyük ölçüde) MacOS terminalinde birbirinin yerine kullanılabilmesinin nedeni. Windows geçmişte Unix tabanlı işletim sistemine girmişti, ancak 2016’da Windows 10 için WSL’nin piyasaya sürülmesi, Windows kullanıcılarının aynı anda Windows’u sanal makine olmadan kullanırken bir Linux Çekirdeği kullanabildikleri ilk seferdi. WSL 2, Windows içinde çalışan hafif bir sanal makine yarattı, bu da geliştiricinin artık sanal bir kutuyu indirmek veya Ubuntu yüklemek için VMWare’i kullanmakla ilgili bellek ve depolama sorunları ile uğraşmak zorunda olmadığı anlamına geliyor..

Bu neden Ethereum geliştiricilerini etkiliyor? Ethereum’un Genesis Bloğu 30 Temmuz 2015’te gerçekleşti ve Ethereum kurucu ortağı ve ConsenSys Joe Lubin’in kurucusuna göre, geliştirmenin çoğu Ubuntu ve MacOS X’te gerçekleşiyordu. Bu nedenle, orijinal araçların çoğunun iyi çalışması şaşırtıcı değil. Unix benzeri işletim sistemleriyle. Windows için özel olarak geliştirilmiş araçlar olsa da, yazılım yüklemek ve komutları çalıştırmak için Unix benzeri bir terminal kullanabildiklerinde geliştiricilerin deneyimi çoğu zaman daha iyidir.. 

Microsoft, WSL 2’yi çıkarmak için çalışmaya başladı ve topluluk içindeki pek çok kişinin bir Linux dağıtımı kurmak için 2018’in sonlarından beri kullandığı yeri geliştirdi. Windows kullanıyorsanız, artık dApp’inizi oluştururken biraz değiştirilmiş bir dizi talimatı takip etmek zorunda kalmazsınız. Windows kullanıcıları artık Linux veya Mac için Ethereum eğitimlerini takip edebilir.

Avery Erwin tarafından bana tavsiye edilen oldukça eğlenceli bir okuma Neal Stephenson’ın “Başlangıçta Komut Satırı vardı”, bu kısa tarihte açıklanan zaman aralığı boyunca işletim sistemleriyle ilgili kişisel deneyimi üzerine bir makale / kitap.

Sonuç

Bu öğretici ve kısa geçmiş, bir Windows kullanıcısına WSL 2, Ubuntu, VSCode, npx, Node, npm ve Truffle kullanarak geliştirme ortamlarını nasıl kuracaklarına dair bazı bilgiler verir. Aynı zamanda bunu nasıl ve neden yapmamız gerektiğine dair biraz da bilgi veriyor. Deneyiminize dayalı herhangi bir yorumunuz veya yardımcı ipucunuz varsa, lütfen bunları şu adrese gönderin: [e-posta korumalı] Böylece bu makaleyi güncelleyebilir ve katkınız için size teşekkür edebilirim.

Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson ve bu eğitim ve tarih hakkındaki yorumlarınız ve yorumlarınız için özel teşekkürler. Yorumlarınızı takdir ediyorum.

En son Ethereum haberleri, kurumsal çözümler, geliştirici kaynakları ve daha fazlası için haber bültenimize abone olun.

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