Dapatkah saya Membuat Pengaturan Pengembang Ethereum mirip Linux / MacOS di Windows ?: Panduan untuk Menyiapkan Subsistem Windows untuk Linux

blog 1NewsPengembangEnterpriseBlockchain DijelaskanAcara dan KonferensiTekanBuletin

Berlangganan newsletter kami.

Alamat email

Kami menghormati privasi Anda

BerandaBlogPengembang

Dapatkah saya Membuat Pengaturan Pengembang Ethereum mirip Linux / MacOS di Windows ?: Panduan untuk Menyiapkan Subsistem Windows untuk Linux

Petunjuk langkah demi langkah tentang cara memanfaatkan WSL 2 untuk mengatur lingkungan dan alur kerja pengembangan kontrak pintar Ethereum Anda oleh Thomas HayNovember 18, 2020Diposting pada November 18, 2020

blockchain

Di ConsenSys Academy, kami meminta semua orang di Program Pengembang untuk mengunduh Kotak Virtual dan Ubuntu di awal. Tujuan kami adalah agar setiap siswa dapat memiliki pengalaman pengguna yang konsisten saat menyiapkan lingkungan pengembangan lokal mereka. Tidak peduli sistem operasi (OS) asli mereka, setiap orang akan memiliki Ubuntu dan dapat menjalankan perangkat lunak yang sama. Ini adalah ide yang bagus secara teori. Dalam praktiknya, kami telah bekerja dengan siswa untuk menangani masalah yang terkait dengan memori yang tersedia di mesin mereka agar ini berfungsi. Hampir selalu, pengguna Mac akan melanjutkan tanpa mengunduh Ubuntu, karena MacOS adalah sistem berbasis Unix. Pengguna Windows sering kali frustrasi, karena mereka tidak dapat menggunakan alat pengembangan mengikuti petunjuk yang kami rekomendasikan pada OS asli mereka, dan jika mereka ingin menjalankan semuanya di Windows, mereka harus mengikuti serangkaian instruksi yang sejajar dengan yang untuk Linux dan pengguna MacOS. 

Kami telah memantau pengembangan Windows Subsystem for Linux (WSL). Peluncuran WSL 2 bertepatan dengan pertanyaan dari kelompok siswa Bootcamp kami saat ini tentang apakah mereka dapat menggunakan WSL 2 daripada mengunduh Virtual Box. Saya merasa sudah lewat waktu untuk memberikan fokus yang lebih besar tentang cara menggunakan WSL 2 untuk memberikan pengalaman pengembang seperti Linux kepada pengguna Windows saat menggunakan alat Ethereum yang kami rekomendasikan. Artikel ini akan berbagi dengan Anda beberapa keanehan yang kami temui dalam menggunakan WSL 2 untuk mengatur lingkungan pengembang Ethereum Anda (seperti apa yang harus Anda lakukan untuk memanfaatkan truffle perintah). 

Ekosistem kami memiliki banyak artikel dan tutorial bermanfaat di luar sana, tetapi orang-orang membuatnya dengan asumsi pengguna telah menginstal Linux atau MacOS. Saya ingin Ethereum dapat diakses oleh semua orang, dan ingin membagikan apa yang saya yakini saat ini adalah cara termudah bagi pengembang yang menggunakan Windows untuk mengatur lingkungan pengembangan mereka sehingga mereka dapat mengikuti sebagian besar artikel yang diterbitkan tentang mengembangkan kontrak pintar.

Anda dapat melompat ke tutorial di bawah ini, atau langsung beralih ke sejarah singkat tentang mengapa pengguna Linux dan MacOS secara tradisional memiliki jalur yang lebih mudah ke perkakas pengembang di Ethereum.

Menggunakan WSL 2 untuk Mengatur Lingkungan Pengembang Ethereum Anda

Langkah 1: Mengunduh WSL 2

TLDR; Windows melakukan pekerjaan yang sangat baik untuk memandu Anda melalui instruksi tentang cara menginstal WSL 2 ke mesin Anda. “Subsistem Windows untuk Panduan Instalasi Linux untuk Windows 10”Adalah artikel yang komprehensif karena sesuai dengan judulnya, serta memberikan kiat pemecahan masalah. Kami juga menemukan bahwa menonton dimulai pada 8:24 dari WSL2: Buat kode lebih cepat di Subsistem Windows untuk Linux! | Tab vs Spasi video memberikan beberapa konteks tambahan tentang cara mengaktifkan WSL melalui antarmuka pengguna grafis (GUI) daripada melalui baris perintah (atau PowerShell). Anda mungkin harus me-restart komputer Anda beberapa kali, dan dalam beberapa kasus, tergantung pada perangkat keras yang dimiliki mesin Anda, ini mungkin membutuhkan waktu. Saya akan siap menyisihkan setengah hari sebagai skenario terburuk, hanya untuk mengelola harapan Anda untuk semua instalasi yang akan Anda lakukan.

Pada langkah 6 dari artikel tersebut di atas, Saya memilih untuk menginstal Ubuntu 20.04 LTS, karena saya paling nyaman dengan distribusi ini dibandingkan dengan yang lain yang terdaftar. Saya mencoba menginstal Ubuntu melalui tautan yang disediakan ke toko Windows, diakses melalui browser web saya, tetapi mesin windows saya kemudian meminta saya untuk menginstal menggunakan Aplikasi Microsoft Store bawaan.

Saya juga menginstal Terminal Windows, yang opsional. Saya melakukan ini setelah membuat banyak kesalahan yang akan Anda lihat di Langkah 3. Alih-alih terus “menempuh jalan saya sendiri”, saya memutuskan untuk mengikuti apa yang dikatakan Microsoft kepada saya. Keuntungan dari Terminal Windows adalah bahwa di jendela terminal, Anda dapat membuka banyak tab terminal dari sistem operasi yang berbeda.


Langkah 2: Menjalankan WSL 2 bersama VSCode

Kami menyarankan agar Anda menggunakan IDE apa pun yang menurut Anda paling nyaman. Secara pribadi, saya menggunakan VSCode, jadi saya ingin mencari tahu bagaimana saya dapat menggunakan VSCode bersama WSL 2. Saya sudah menginstal VSCode, jadi jika Anda belum menginstalnya, lanjutkan dan instal. Kemudian, untuk menjalankannya bersama Ubuntu, saya menemukan jawabannya di 5:31 video di WSL yang dibuat oleh microsoft.

Menggunakan perintah:

kode. 

secara otomatis mengunduh, menginstal, dan memulai VSCode, tetapi saya menemukan bahwa ekstensi saya yang saya gunakan untuk menulis kontrak pintar tidak dipasang secara otomatis.

Cukup klik pada teks hijau yang dipasang di WSL: Ubuntu. VSCode juga meminta saya untuk menginstal beberapa perpustakaan tambahan melalui terminal dalam VSCode, dan meminta saya untuk memasukkan kata sandi saya untuk distribusi Linux saya (yaitu Ubuntu 20.04 LTS)

Ada tutorial lagi yang disebut Mulailah menggunakan Visual Studio Code for Windows Subsystem for Linux yang memberikan panduan lebih lama jika Anda belum menginstal VSCode. Dari titik ini dan seterusnya, saya melakukan semua langkah berikut di dalam terminal VSCode, yang sekarang diatur sebagai shell bash.

Langkah 3. Instal nvm, Node dan npm

Sebelum menginstal alat pengembang seperti Truffle, kita perlu menginstal nvm, Node, dan npm. Lihat langsung artikelnya Siapkan pengembangan NodeJS Anda dengan WSL 2.  

Keistimewaan pertama yang saya temukan adalah dokumentasinya tidak memiliki versi nvm terbaru yang terdaftar, dan oleh karena itu saya sarankan untuk pergi ke nvm GitHub repositori untuk mengetahui rilis saat ini. Setelah menginstal nvm, ketika saya menjalankan perintah -v nvm untuk mengonfirmasi bahwa ia telah diinstal di terminal saya, tidak ada yang terjadi (nvm harus dikembalikan). Ini menyarankan agar saya menutup terminal saya dan membukanya kembali, lalu menjalankan perintah lagi. Ketika saya melakukan ini, saya mendapat nvm.

Kemudian, saya mengetik nvm install node –lts saya memilih rilis LTS (long-term stable). Setelah memeriksa bahwa saya telah menginstal kedua node dan npm (node ​​–version, npm –version). Saya pindah ke langkah berikutnya. 

Jangan lakukan berikut ini

Ini adalah contoh jelas tidak membaca dokumentasi (selalu baca dokumentasi). Langkah-langkah yang saya jelaskan di atas saya lakukan setelah terlebih dahulu melalui jalur tidak membaca dokumen sepenuhnya. Secara kronologis, saya pertama kali membuka terminal dengan VSCode dan mengetik

node -v

untuk melihat apakah saya sudah memasangnya. Karena saya tidak menginstal node, berikut ini dikembalikan:

Saya mengetik yang disarankan

sudo apt menginstal nodejs

dan diminta memasukkan kata sandi untuk distribusi linux saya (Ubuntu 20.04 LTS). Saya kemudian mengetik

node -v

Versi yang dikembalikan adalah 10.19.0. Saya melihat situs web Node.js dan rilis stabil yang direkomendasikan adalah 14.15.0 LTS. Bukan yang saya inginkan terjadi. Selain itu, saat saya mengetik

npm -v

untuk melihat apakah saya telah menginstal NPM, saya mendapatkan interpreter yang buruk: Tidak ada file atau direktori seperti itu. Apa yang salah? Jika saya baru mulai dengan membaca artikel tersebut, saya akan melihat yang berikut ini

“Versi Node yang dapat diinstal dengan perintah apt-get Ubuntu saat ini sudah usang”

Jika Anda menemukan diri Anda telah melalui jalur ini, Anda perlu menghapus instalan Nodejs – berikut adalah beberapa petunjuk yang berguna, tetapi Anda akan menggunakan perintah

sudo apt-get purge nodejs

di dalam terminal untuk melakukannya.

Jika Anda menavigasi langsung ke situs web Node.js dan mengunduh serta menginstal, Anda akan menginstal distribusi Windows, yang tidak dapat Anda gunakan di Ubuntu. Jadi bacalah dokumentasi di atas terlebih dahulu, dan jangan mencoba hanya “langsung masuk:.

Belajar dari kesalahan saya dan hemat waktu Anda. Baca dokumentasinya.

Langkah 4. Instal Truffle Suite

Pada titik ini, saya sekarang dapat mengikuti langkah-langkah yang dijelaskan di Portal Pengembang ConsenSys.

Pastikan untuk menghapus komentar jaringan pengembangan (seperti yang terlihat di bawah) di file truffle-config.js

Jika tidak, Anda akan mendapatkan error berikut:

Tunggu… Saya mengatur semuanya dan ada kesalahan, saya pergi begitu saja, dan sekarang saya menjalankannya, saya lupa kata sandi saya untuk distribusi linux saya!!!

Ahh iya. Saya juga telah melakukan ini. Saya menemukan artikel “Buat akun pengguna dan kata sandi untuk distribusi Linux baru Anda” sangat membantu. 

Hal-hal yang saya instal di Windows tidak muncul saat saya menjalankan Ubuntu! Apa yang memberi!!

Ingat, Ubuntu adalah sistem operasi yang berbeda dari Windows. Program yang diinstal pada Windows tidak diharapkan untuk langsung menjalankan distribusi Ubuntu dan sebaliknya, kecuali program tersebut dikonfigurasi untuk melakukannya – Terminal Windows sebagai contohnya. Asumsikan bahwa apa pun yang Anda instal di satu perangkat tidak akan berfungsi di perangkat lain agar aman.

Apa selanjutnya?

Sekarang ikuti Langkah 2: Buat Kontrak Cerdas dan Langkah 3: Luncurkan Aplikasi Terdesentralisasi menggunakan perintah yang sama seperti yang disediakan tutorial ini.

Sejarah Singkat Sistem Operasi dan Konteks Pengembang Ethereum

Mengapa pengguna Windows memiliki pengalaman yang berbeda dengan alat pengembang Ethereum daripada mereka yang menggunakan Linux atau MacOS? Linux dan MacOS bukanlah sistem operasi yang sama, dan ada banyak sekali distribusi Linux. Sepertinya harus ada beberapa set perkakas untuk menangani berbagai sistem operasi di luar sana. Untuk menjawab pertanyaan ini dibutuhkan pelajaran sejarah yang singkat. Saya sarankan menonton Video Crash Course Sistem Operasi: Crash Course Computer Science # 18 untuk beberapa informasi latar belakang yang ringkas. 

Kisah kami diambil dengan Unix. Setelah rilis Unix pada tahun 1969, sistem operasi ini dengan cepat memantapkan dirinya dalam komunitas komputasi. Komputasi sangat didominasi oleh komunitas riset, bisnis besar, atau penghobi / peretas selama tahun 1970-an, dan tidak memiliki antarmuka pengguna grafis seperti yang biasa kita lakukan saat ini.. Unix berbasis terminal saat ini, jadi semuanya dilakukan melalui apa yang kita sebut baris perintah.

Tahun 1980-an bertepatan dengan Microsoft dan Apple merilis sistem operasi populer untuk audiens komputasi pribadi. Kemajuan yang dibawa oleh sistem operasi ini, bersamaan dengan penurunan biaya perangkat keras dan memori, membantu menumbuhkan jumlah orang di luar akademisi atau dunia bisnis yang mampu membeli komputer untuk penggunaan pribadi.. Microsoft merilis Sistem Operasi Disk Microsoft (MS-DOS) pada tahun 1981. Kapan Microsoft Windows dirilis pada tahun 1985, sistem operasi berbasis antarmuka pengguna grafis ini dibangun di atas basis kode MS-DOS, membuat komputer lebih mudah diakses oleh pengguna akhir.

Apple sebenarnya mengizinkan booting beberapa OS pada Apple II, yang pertama kali mulai dijual pada akhir 1970-an. Namun Apple, sebelum Microsoft, menyadari betapa pentingnya GUI untuk mendorong adopsi komputer pribadi. OS berbasis GUI Apple pertama, Sistem Operasi Macintosh (sekarang disebut MacOS Klasik) berasal dari Apple Lisa (LisaOS), komputer yang dirilis pada tahun 1983. Sistem operasi pada Lisa sangat terinspirasi oleh pekerjaan yang dilakukan di Xerox’s Palo Alto Research Center (PARC), dan banyak di tim PARC Xerox bekerja di Apple. Ketika Apple Macintosh yang jauh lebih populer dirilis pada tahun 1984, MacOS Klasik sedang berjalan di atasnya. Saat melihat gambar dan video lama Macintosh, saya terkejut melihat betapa akrabnya antarmuka MacOS Klasik dengan MacOS yang berjalan di komputer Apple saya saat ini..

Unix telah menjadi sistem operasi yang dominan di dunia komputasi, dan terus menjadi populer di luar ruang komputasi pribadi pada tahun 1980-an. Selama tahun 1980-an itu berarti ada tiga sistem operasi berbeda yang dibangun di atas tiga basis kode yang berbeda. Menggunakan program di seluruh sistem operasi ini tidak dapat terjadi secara native. Program harus dimodifikasi untuk bekerja dengan OS. Sistem operasi Apple dan Microsoft berbasis GUI membuat komputasi dapat diakses oleh banyak orang. Untuk pengembang, membangun aplikasi yang dapat bekerja di komputer harus mengetahui sistem operasi (dan masih demikian). Tetapi Apple akan membuat pilihan yang akan memudahkan pengembang yang akrab dengan perintah Unix untuk menggunakan MacOS atau sistem operasi berbasis Unix yang tidak menjadi penghalang masuk..

Apple mulai bergerak menuju a Sistem operasi berbasis Unix, dimulai pada tahun 1988, ketika A / UX berbasis Unix dirilis. Di jalur paralel, NeXT, yang didirikan bersama oleh Steve Jobs pada tahun 1985 setelah keluar dari Apple, menciptakan OS berbasis Unix yang disebut NeXTSTEP. Apple membeli NeXT pada tahun 1996, dan memperoleh kekayaan intelektual yang kemudian menjadi MacOS X. Singkatnya, salah satu pendiri Apple meninggalkan perusahaan, mendirikan perusahaan komputer lain untuk membangun komputer dan sistem operasi, yang kemudian dibeli oleh perusahaan yang pertama kali ia dirikan, yang kemudian ia menjadi CEO, dan kemudian mengambil proyek dari perusahaan barunya, dan proyek perangkat lunak itu dibangun untuk menjadi dasar MacOS yang saya jalankan di komputer Apple saya sekarang. Dalam Steve Jobs karya Walter Issacson, terdapat kutipan dari Larry Ellison, co-founder Oracle, tentang percakapannya dengan Steve Jobs saat mereka sedang berlibur di Hawaii.

“Anda tahu Larry, saya rasa saya telah menemukan cara bagi saya untuk kembali ke Apple dan mengendalikannya tanpa Anda harus membelinya,” kata Jobs saat mereka berjalan di sepanjang pantai. Ellison mengenang, “Dia menjelaskan strateginya, yaitu membuat Apple membeli NeXT, lalu dia akan naik ke papan dan selangkah lagi untuk menjadi CEO.”

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

Jadi begitulah MacOS menjadi sistem operasi berbasis Unix, dan memungkinkan perintah Unix untuk berjalan di terminal di MacOS.

Windows tidak menjadi seperti Unix. Setelah sukses besar dari Windows 95/98, Windows membuat pergeseran untuk membangun OS-nya dari NT (akronim NT tidak lagi berarti apa pun, tetapi ada banyak teori dan sejarah seputar pilihan NT – lubang kelinci yang menyenangkan untuk dicoba jika Anda tertarik dengan sejarah Microsoft). Dimulai dengan Windows 2000, Microsoft menghentikan ketergantungan pada DOS (mengarah ke video yang luar biasa ini dari Bill Gates yang mematikan DOS ketika Windows XP dirilis). Windows terus berbasis NT untuk semua rilis berikutnya, termasuk Windows 10.

Antara Apple dan Microsoft, pesaing ketiga akan muncul. Linux dikembangkan dan dirilis oleh Linus Torvalds pada tahun 1991. Ini adalah sistem operasi mirip Unix, dan karena gratis dan mudah disesuaikan, dan dengan cepat diadopsi oleh komunitas pengembang yang tidak ingin dikunci ke Apple atau Microsoft. Linux terus mendapatkan popularitas dan digunakan di banyak lingkungan komputasi yang berbeda. Misalnya, Android, yang merupakan sistem operasi seluler, dibangun di Linux, dan merupakan sistem operasi ponsel cerdas paling populer. Linux juga mempertahankan perintah shell Unix. Untuk informasi lebih lanjut tentang Linux, Menjalankan Linux, Edisi Ketiga adalah sumber daya yang komprehensif.

Berbasis Unix berarti bahwa perintah yang ditulis di terminal MacOS dan terminal Linux secara sintaksis sama karena keduanya menggunakan bash shell (atau turunannya seperti zsh). Pengguna Windows sering kali harus menerjemahkan perintah yang mereka lihat dalam tutorial yang ditulis agar bash shell berfungsi di Windows PowerShell atau Cmd. Pengguna Linux atau MacOS tinggal menjalankan perintah tersebut. Pengembang menghabiskan banyak waktu di terminal. Ini berarti menginstal dan menggunakan perkakas pengembang tertentu untuk Ethereum (dan banyak bahasa lainnya), seperti nvm, Node, npm, dan Truffle memerlukan serangkaian instruksi yang berbeda untuk pengguna Windows. 

Hasilnya adalah ada kompatibilitas yang lebih besar antara Linux dan MacOS – dan dengan demikian mengapa banyak perintah yang digunakan di terminal Ubuntu, distribusi Linux, juga dapat digunakan (sebagian besar) secara bergantian di terminal MacOS. Windows telah terjun ke OS berbasis Unix di masa lalu, tetapi rilis WSL pada tahun 2016 untuk Windows 10 adalah pertama kalinya pengguna Windows dapat menggunakan Kernel Linux sekaligus menggunakan Windows tanpa mesin virtual. WSL 2 telah menciptakan mesin virtual ringan yang berjalan di dalam Windows, yang berarti bahwa pengembang tidak lagi harus berurusan dengan masalah memori dan penyimpanan yang terkait dengan mengunduh kotak virtual atau menggunakan VMWare untuk menginstal Ubuntu.

Mengapa ini memengaruhi pengembang Ethereum? Genesis Block Ethereum terjadi pada 30 Juli 2015, dan menurut salah satu pendiri Ethereum dan pendiri ConsenSys Joe Lubin, sebagian besar pengembangan terjadi di Ubuntu dan MacOS X. Oleh karena itu, tidak mengherankan bahwa banyak dari perkakas asli bekerja dengan baik dengan sistem operasi mirip Unix. Meskipun telah ada perkakas yang dikembangkan khusus untuk Windows, seringkali pengalaman bagi pengembang lebih baik ketika mereka dapat menggunakan terminal mirip Unix untuk menginstal perangkat lunak dan menjalankan perintah.. 

Microsoft berupaya untuk mengeluarkan WSL 2 dan telah meningkat ke tempat banyak komunitas telah menggunakannya sejak akhir 2018 untuk menginstal distribusi Linux. Jika Anda menggunakan Windows, Anda tidak lagi merasa sakit karena harus mengikuti serangkaian instruksi yang sedikit dimodifikasi saat membangun dApp Anda. Pengguna Windows sekarang dapat mengikuti tutorial Ethereum untuk Linux atau Mac.

Bacaan yang sangat menghibur, yang direkomendasikan kepada saya oleh Avery Erwin, adalah karya Neal Stephenson “Pada Mulanya adalah Command Line”, sebuah esai / buku tentang pengalaman pribadinya dengan sistem operasi selama periode waktu yang dijelaskan dalam sejarah singkat ini.

Kesimpulan

Tutorial dan sejarah singkat ini memberi pengguna Windows beberapa wawasan tentang bagaimana mengatur lingkungan pengembangan mereka menggunakan WSL 2, Ubuntu, VSCode, npx, Node, npm, dan Truffle. Ini juga memberikan sedikit sejarah tentang bagaimana dan mengapa kita harus melakukan ini. Jika Anda memiliki komentar atau petunjuk bermanfaat berdasarkan pengalaman Anda, kirimkan ke [email dilindungi] jadi saya dapat memperbarui artikel ini dan menghargai kontribusi Anda.

Terima kasih khusus kepada Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson dan lebih banyak teman baik atas ulasan dan komentar Anda tentang tutorial dan sejarah ini. Saya menghargai komentar Anda.

PengembangKontrak CerdasWindowsNewsletterBerlangganan buletin kami untuk berita Ethereum terbaru, solusi perusahaan, sumber daya pengembang, dan banyak lagi.

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