האם אוכל ליצור התקנת מפתח למפתחי Ethereum דמויי לינוקס / MacOS ב- Windows ?: מדריך להגדרת מערכת המשנה של Windows עבור Linux.

בלוג 1חדשות מפתחיםיזם הסבר על בלוקצ’יין אירועים וכנסים לחץעלונים

הירשם לניוזלטר שלנו.

כתובת דוא”ל

אנו מכבדים את פרטיותך

HomeBlogDevelopers

האם אוכל ליצור התקנת מפתח למפתחי Ethereum דמויי לינוקס / MacOS ב- Windows ?: מדריך להגדרת מערכת המשנה של Windows עבור Linux.

הוראות שלב אחר שלב כיצד להשתמש ב- WSL 2 כדי להגדיר את סביבת פיתוח החוזים החכמה של Ethereum ואת זרימת העבודה מאת תומס היי 18 בנובמבר 2020 הוצג ב 18 בנובמבר 2020

בלוקצ'יין

באקדמיה של ConsenSys ביקשנו מכולם בתכנית המפתחים להוריד תיבה וירטואלית ואובונטו בהתחלה. המטרה שלנו היא שכל תלמיד יוכל לחוות חווית משתמש עקבית בעת הגדרת סביבת הפיתוח המקומית שלהם. לא משנה מערכת ההפעלה המקורית שלהם, כולם יהיו בעלי אובונטו ויוכלו להריץ את אותה התוכנה. זה רעיון טוב בתיאוריה. בפועל, עבדנו עם סטודנטים להתמודד עם נושאים הקשורים לזיכרון הזמין במכונה שלהם על מנת לגרום לכך לעבוד. כמעט תמיד, משתמשי מק ‘ימשיכו מבלי להוריד את אובונטו, בגלל שמערכת MacOS היא מערכת מבוססת יוניקס. משתמשי Windows לעיתים קרובות מתוסכלים מכיוון שהם לא הצליחו להשתמש בכלי הפיתוח בעקבות ההוראות שאנחנו ממליצים עליהם על מערכת ההפעלה המקורית שלהם, ואם הם רצו להריץ הכל על Windows הם היו צריכים לעקוב אחר סט הוראות מקבילות לאלה של Linux. ומשתמשי MacOS. 

עקבנו אחר פיתוח מערכת המשנה של Windows עבור Linux (WSL). ההשקה של WSL 2 התרחשה במקביל לשאלות של קבוצת הסטודנטים Bootcamp הנוכחית שלנו האם הם יכולים להשתמש ב- WSL 2 במקום להוריד תיבה וירטואלית. הרגשתי שזה עבר זמן לספק דגש רב יותר על השימוש ב- WSL 2 כדי לספק למשתמשי Windows חוויית מפתח כמו לינוקס תוך שימוש בכלי Ethereum עליו אנו ממליצים. מאמר זה ישתף אתכם בכמה ייחודיות שנתקלנו בשימוש ב- WSL 2 להגדרת סביבת המפתחים של אתריום (כמו מה עליכם לעשות בכדי לנצל כְּמֵהָה פקודות). 

במערכת האקולוגית שלנו יש מאמרים והדרכות מועילות רבות שם, אך אנשים יוצרים אותם בהנחה שהמשתמש מותקן ב- Linux או MacOS. אני רוצה ש- Ethereum יהיה נגיש לכולם, ורציתי לשתף את מה שאני מאמין כרגע היא הדרך הקלה ביותר עבור מפתחים המשתמשים ב- Windows להגדיר את סביבת הפיתוח שלהם כדי שיוכלו לעקוב אחר רוב המאמרים שפורסמו על פיתוח חוזים חכמים..

אתה יכול לקפוץ למדריכה שלמטה, או לדלג קדימה להיסטוריה קצרה מדוע למשתמשי לינוקס ו- MacOS באופן מסורתי היה נתיב קל יותר לכלי מפתחים באת’ריום..

שימוש ב- WSL 2 כדי להגדיר את סביבת מפתחי האתריום שלך

שלב 1: הורדת WSL 2

TLDR; Windows עושה עבודה ממש טובה בהנחיית ההוראות כיצד להתקין את WSL 2 למכונה שלך. “מדריך ההתקנה של Windows Subsystem for Linux עבור Windows 10”הוא מאמר מקיף מכיוון ששניהם עומדים בכותרת וגם מספקים טיפים לפתרון בעיות. מצאנו גם שצפייה החל משעה 8:24 של WSL2: קוד מהיר יותר במערכת המשנה של Windows עבור Linux! | כרטיסיות לעומת רווחים וידאו נותן קצת הקשר נוסף סביב אופן הפעלת WSL באמצעות ממשק משתמש גרפי (GUI) במקום באמצעות שורת פקודה (או PowerShell). יתכן שתצטרך להפעיל מחדש את המחשב מספר פעמים, ובמקרים מסוימים, תלוי בחומרה שיש למכונה שלך, הדבר עשוי לקחת זמן מה. הייתי מוכן להפריש חצי יום כתרחיש במקרה הגרוע ביותר, רק כדי לנהל את הציפיות שלך לכל ההתקנות שאתה עומד לעשות.

בשלב 6 של מאמר כאמור, בחרתי להתקין אובונטו 20.04 LTS, כיוון שהיה לי הכי נוח עם ההפצה הזו לעומת האחרים שפורטו. ניסיתי להתקין את אובונטו דרך הקישור המסופק לחנות Windows, אליו הגישה דרך דפדפן האינטרנט שלי, אך מכונת Windows שלי אז ביקשה ממני להתקין באמצעות היישום המובנה של Microsoft Store..

התקנתי גם מסוף חלונות, שהיה אופציונלי. עשיתי זאת לאחר שעשיתי המון טעויות שתראה בשלב 3. במקום להמשיך “ללכת בדרכי”, החלטתי לעקוב אחר מה שמיקרוסופט אמרה לי. היתרון של Windows Terminal הוא שבחלון מסוף, אתה יכול לפתוח מספר כרטיסיות מסוף של מערכות הפעלה שונות.


שלב 2: הפעלת WSL 2 לצד VSCode

אנו מציעים לך להשתמש בכל ה- IDE שהכי נוח לך. באופן אישי, אני משתמש ב- VSCode, אז רציתי להבין כיצד אוכל להשתמש ב- VSCode לצד WSL 2. כבר התקנתי את VSCode, אז אם אין לך את זה מותקן, קדימה והתקן אותו. ואז, כדי להפעיל אותו לצד אובונטו, מצאתי את התשובה בכתובת 5:31 מסרטון ב- WSL שנוצר על ידי מיקרוסופט.

באמצעות הפקודה:

קוד. 

הורדתי, הותקן והפעלתי את VSCode באופן אוטומטי, אך גיליתי שההרחבות שלי בהן אני משתמש לכתיבת חוזים חכמים אינן מותקנות אוטומטית.

פשוט לחץ על הטקסט הירוק המותקן ב- WSL: אובונטו. VSCode גם ביקש ממני להתקין כמה ספריות נוספות דרך הטרמינל בתוך VSCode וביקש ממני להזין את הסיסמה שלי להפצת לינוקס (שהיא אובונטו 20.04 LTS)

יש מדריך ארוך יותר שנקרא התחל להשתמש בקוד Visual Studio עבור מערכת משנה Windows עבור Linux המספק הדרכה ארוכה יותר אם טרם התקנת את VSCode. מנקודה זו ואילך, עשיתי את כל השלבים הבאים בתוך הטרמינל של VSCode, שהוגדר כעת כמעטפת bash.

שלב 3. התקן nvm, Node ו- npm

לפני התקנת כלי מפתח כמו Truffle, עלינו להתקין nvm, Node ו- npm. התייחס ישירות למאמר הגדר את פיתוח NodeJS שלך באמצעות WSL 2.  

הייחודיות הראשונה שנתקלתי בה הייתה בתיעוד לא מציגה את הגרסה העדכנית ביותר של ה- nvm, ולכן אני ממליץ ללכת אל מאגר GitHub nvm כדי לגלות את המהדורה הנוכחית. לאחר התקנת nvm, כאשר הפעלתי את פקודת הפקודה -v nvm כדי לאשר שהיא הותקנה במסוף שלי, שום דבר לא קרה (צריך להחזיר nvm). הוא הציע לי לסגור את המסוף שלי ולפתוח אותו מחדש ואז להפעיל את הפקודה שוב. כשעשיתי את זה, קיבלתי nvm.

לאחר מכן, הקלדתי את nvm node node – lts שבחרתי בשחרור LTS (יציב לטווח ארוך). לאחר בדיקה שהתקינו גם את הצומת וגם את ה- npm (צומת-גרסה, npm-גרסה). עברתי לשלב הבא. 

אל תעשה את הדברים הבאים

זו דוגמה מובהקת לאי קריאת התיעוד (קרא תמיד את התיעוד). את השלבים שפירטתי לעיל עשיתי לאחר שעברתי לראשונה בדרך שלא קראתי את המסמכים לאורך כל הדרך. כרונולוגית, פתחתי לראשונה את הטרמינל עם VSCode והקלדתי

צומת -v

לראות אם התקנתי אותו. מכיוון שלא התקנתי צומת, הדברים הבאים חזרו:

הקלדתי את ההצעה

sudo apt להתקין nodejs

והתבקש להזין את הסיסמה שלי. להפצת לינוקס שלי (אובונטו 20.04 LTS). לאחר מכן הקלדתי

צומת -v

הגרסה שחזרה הייתה 10.19.0. הסתכלתי באתר Node.js והמהדורה היציבה המומלצת הייתה 14.15.0 LTS. לא מה שרציתי שיקרה. בנוסף, כשהקלדתי

npm -v

כדי לראות אם התקנתי NPM, קיבלתי חזרה מתורגמן רע: אין קובץ או ספרייה כאלה. מה השתבש? אם רק הייתי מתחיל בקריאת המאמר, הייתי רואה את הדברים הבאים

“הגרסה של Node שניתן להתקין עם הפקודה apt-get של אובונטו מיושנת כרגע”

אם מצאת את עצמך עברת נתיב זה, עליך להסיר את ההתקנה של Nodejs – להלן מספר הוראות מועילות, אבל תשתמש בפקודה

sudo apt-get טיהור nodejs

בתוך הטרמינל לעשות זאת.

אם תנווט ישירות לאתר Node.js ותוריד ותתקין, תתקין את הפצת Windows, שלא תוכל להשתמש באובונטו. אז קרא תחילה את התיעוד הנ”ל, ואל תנסה פשוט “לקפוץ פנימה:.

למדו מטעויותי וחסכו לעצמכם זמן. קרא את התיעוד.

שלב 4. התקן את חבילת הטראפל

בשלב זה יכולתי לבצע את השלבים המתוארים בפורטל המפתחים של ConsenSys.

הקפד לבטל את התגובה של רשת הפיתוח (כפי שנראה למטה) בקובץ truffle-config.js

אם לא, תופיע השגיאה הבאה:

רגע … הגדרתי הכל והייתה שגיאה, הלכתי משם, ועכשיו, כשהוא פועל, שכחתי את הסיסמה שלי להפצת לינוקס!!!

אהה, כן. גם אני עשיתי את זה. מצאתי את המאמר “צור חשבון משתמש וסיסמה להפצת הלינוקס החדשה שלך” עוזר מאוד. 

דברים שהתקנתי ב- Windows אינם מופיעים כאשר אני מפעיל את אובונטו! מה נותן!!

זכרו, אובונטו היא מערכת הפעלה שונה מ- Windows. תוכניות המותקנות ב- Windows אינן צפויות להריץ באופן מיידי את הפצת אובונטו ולהיפך, אלא אם כן מדובר בתוכניות ספציפיות שהוגדרו לעשות זאת – מסוף Windows הוא דוגמה. נניח שכל מה שתתקין על אחד לא יעבוד על השני כדי להיות בטוח.

מה הלאה?

כעת עקוב אחר שלב 2: צור חוזה חכם ושלב 3: הפעל יישום מבוזר באמצעות אותן פקודות כפי שמדריכים אלה מספקים.

היסטוריה קצרה של מערכות הפעלה והקשר למפתחי אתריום

מדוע משתמשי Windows חווים חוויית שימוש אחרת במפתחי Ethereum מאשר אלו המשתמשים בלינוקס או ב- MacOS? לינוקס ו- MacOS אינן אותה מערכת הפעלה, ויש אינספור הפצות לינוקס. נראה כי יצטרכו להיות קבוצות מרובות של כלים בכדי להתמודד עם מערכות ההפעלה השונות שיש. כדי לענות על שאלה זו נדרש שיעור היסטוריה קצר. אני ממליץ לראות את הסרטון של קורס קורס מערכות הפעלה: קורס מזורז מדעי המחשב מס ’18 לקבלת מידע על רקע תמציתי. 

הסיפור שלנו מצטבר עם יוניקס. לאחר שחרור יוניקס בשנת 1969, מערכת הפעלה זו התבססה במהירות בתוך קהילת המחשוב. המחשוב נשלט מאוד על ידי קהילות המחקר, העסקים הגדולים או תחביבי / האקרים במהלך שנות השבעים, ולא היו להם ממשקי משתמש גרפיים שאנו רגילים אליהם כיום.. יוניקס הייתה מבוססת מסוף בשלב זה, אז הכל נעשה באמצעות מה שנקרא בשורת הפקודה.

שנות השמונים התרחשו במקביל לכך שמיקרוסופט ואפל פרסמו מערכות הפעלה פופולריות לקהל המחשוב האישי. ההתקדמות שמערכות הפעלה אלה הביאו, לצד ירידה במחיר החומרה והזיכרון, סייעו בהגדלת מספר האנשים מחוץ לאקדמיה או לעולם העסקים המסוגלים להרשות לעצמם מחשב לשימוש אישי.. מיקרוסופט פרסמה את מערכת ההפעלה של דיסק Microsoft (MS-DOS) בשנת 1981. מתי Microsoft Windows שוחרר בשנת 1985, מערכת הפעלה מבוססת ממשק משתמש גרפית זו נבנתה על בסיס בסיס הקוד MS-DOS, מה שהופך את המחשב לנגיש הרבה יותר למשתמש הקצה.

אפל אפשרה למעשה אתחול של מספר מערכות הפעלה ב- Apple II, שהתחיל למכור בסוף שנות השבעים. אבל אפל, לפני מיקרוסופט, הבינה כמה חשוב GUI להנעת האימוץ של המחשב האישי. מערכת ההפעלה הראשונה מבוססת ה- GUI של אפל, מערכת ההפעלה מקינטוש (המכונה כיום MacOS הקלאסי), מקורו ב תפוח ליסה (LisaOS), מחשב שיצא בשנת 1983. מערכת ההפעלה על הליזה קיבלה השראה רבה מעבודות שנעשו במרכז המחקר פאלו אלטו (PARC) של זירוקס., ורבים בצוות Xerox PARC עבדו באפל. כאשר Macintosh Apple הרבה יותר פופולרי שוחרר בשנת 1984, MacOS הקלאסי פועל עליו. כאשר התבוננתי בתמונות וסרטונים ישנים של המקינטוש, הופתעתי עד כמה ממשק מקוסי קלאסי מוכר ל- MacOS הפועל במחשב אפל שלי כיום..

יוניקס הייתה מערכת ההפעלה הדומיננטית בעולם המחשוב, והיא המשיכה להיות פופולרית מחוץ למרחב המחשוב האישי בשנות השמונים. פירוש הדבר היה ששנות השמונים היו שלוש מערכות הפעלה שונות שנבנו בשלושה בסיסי קוד שונים. שימוש בתוכנית במערכות הפעלה אלה לא יכול היה לקרות באופן מקורי. היה צורך לשנות את התוכניות כדי לעבוד עם מערכת ההפעלה. מערכות ההפעלה מבוססות ה- GUI של אפל ומיקרוסופט הפכו את המחשוב לנגיש להמונים. עבור מפתחים, בניית יישום שעשוי לעבוד על מחשב הצריכה להכיר את מערכת ההפעלה (והיא עדיין פועלת). אבל אפל תעשה בחירות שיקלו על מפתחים המכירים את פקודות יוניקס להשתמש ב- MacOS או במערכת הפעלה מבוססת יוניקס, פחות מחסום כניסה..

אפל החלה לבצע מהלכים לעבר מערכת הפעלה מבוססת יוניקס, החל משנת 1988, אז שוחרר A / UX מבוסס יוניקס. במסלול מקביל, NeXT, שהוקם יחד עם סטיב ג’ובס בשנת 1985 עם צאתו מאפל, הקימה מערכת הפעלה מבוססת יוניקס בשם NeXTSTEP. אפל רכשה את NeXT בשנת 1996, ורכשה את הקניין הרוחני שיהפוך ל- MacOS X. לסיכום, מייסד אפל עזב את החברה, הקים חברת מחשבים נוספת לבניית מחשבים ומערכות הפעלה, אשר נרכשה אז על ידי החברה שהקים לראשונה, בהמשך הפך למנכ”ל, ואז לקח פרויקט מ את החברה החדשה שלו, ופרויקט התוכנה הזה נבנה כדי להפוך לבסיס ה- MacOS שאני מריץ במחשב Apple שלי עכשיו. בסטיב ג’ובס מאת וולטר איסקסון יש ציטוט של לארי אליסון, מייסד שותף של אורקל, על שיחה שניהל עם סטיב ג’ובס בזמן שהם היו בחופשה בהוואי..

“אתה מכיר את לארי, אני חושב שמצאתי דרך לחזור לאפל ולקבל שליטה על זה בלי שתצטרך לקנות את זה,” אמר ג’ובס כשהם הולכים לאורך החוף. אליסון נזכר, “הוא הסביר את האסטרטגיה שלו, שגרמה לאפל לקנות את NeXT, ואז הוא ייכנס לדירקטוריון ויהיה צעד אחד מלהיות מנכ”ל.”

איזקסון, וולטר. סטיב ג’ובס. ניו יורק ; טורונטו: סיימון & שוסטר, 2011. עמ ‘300

אז כך הפכה MacOS למערכת הפעלה מבוססת יוניקס, ואפשרה לפקודת יוניקס לפעול במסוף ב- MacOS.

חלונות לא הפכו לדמויי יוניקס. לאחר ההצלחה הגדולה של חלונות 95/98, Windows עשתה את המעבר לבניית מערכת ההפעלה שלה מ- NT (ראשי התיבות NT כבר לא מייצגים שום דבר, אבל יש הרבה תיאוריות והיסטוריות סביב הבחירות של NT – חור ארנב מהנה לרדת אם אתה מעוניין בהיסטוריה של מיקרוסופט.). החל מ- Windows 2000, מיקרוסופט ביטלה את התלות ב- DOS (מה שמוביל לסרטון המדהים הזה של ביל גייטס מכבה את DOS כשפורסם Windows XP). חלונות המשיכו להתבסס על NT עבור כל המהדורות הבאות, כולל Windows 10.

בין אפל למיקרוסופט תופיע מתחרה שלישית. לינוקס פותחה ושוחררה על ידי לינוס טורבלדס בשנת 1991. זוהי מערכת הפעלה דמוית יוניקס, ובשל היותה חינמית וניתנת להתאמה אישית בקלות, והיא אומצה במהירות על ידי קהילות מפתחים שלא רצו להינעל בפני אפל או מיקרוסופט. לינוקס המשיכה לצבור פופולריות והיא מצאה את עצמה משמשת בסביבות מחשוב רבות ושונות. לדוגמא, אנדרואיד, שהיא מערכת הפעלה ניידת, בנויה על לינוקס, והיא מערכת ההפעלה הסמארטפונית הפופולרית ביותר. לינוקס שמרה גם על פקודות הפגז של יוניקס. למידע נוסף על לינוקס, הפעלת לינוקס, מהדורה שלישית הוא משאב מקיף.

היותו מבוסס על יוניקס פירושו שפקודות שנכתבו במסוף MacOS ובמסוף לינוקס זהות מבחינה תחבירית מכיוון ששניהם משתמשים במעטפת bash (או נגזרת כלשהי שלה כמו zsh). משתמשי Windows לעיתים קרובות צריכים לתרגם פקודה שהם רואים בהדרכה שנכתבה עבור מעטפת ה- bash כדי לעבוד ב- Windows PowerShell או Cmd. משתמשי לינוקס או MacOS יכולים פשוט להריץ את הפקודה. מפתחים מבלים המון זמן בטרמינל. פירוש הדבר שהתקנה ושימוש בכלים מסוימים למפתחים עבור Ethereum (ושפות רבות אחרות), כמו nvm, Node, npm ו- Truffle דרשו סט הוראות אחר עבור משתמשי Windows.. 

התוצאה היא שקיימת תאימות רבה יותר בין לינוקס ל- MacOS – ולכן רבים מהפקודות המשמשות במסוף אובונטו, הפצה של לינוקס, יכולות לשמש (במידה רבה) גם במסוף MacOS. בעבר חלף מערכת ההפעלה מבוססת יוניקס, אך שחרורו של WSL בשנת 2016 עבור Windows 10 היה הפעם הראשונה שמשתמשי Windows יכלו להשתמש בליבת לינוקס תוך שימוש בו זמנית ב- Windows ללא מכונה וירטואלית. WSL 2 יצרה מכונה וירטואלית קלת משקל הפועלת בתוך Windows, כלומר מפתח כבר לא צריך להתמודד עם בעיות הזיכרון והאחסון הקשורות להורדת תיבה וירטואלית או שימוש ב- VMWare להתקנת אובונטו..

מדוע זה משפיע על מפתחי Ethereum? בלוק הג’נסיס של את’ריום התרחש ב- 30 ביולי 2015, ולדברי מייסד ומייסד את’ריום של ConsenSys ג’ו לובין, מרבית הפיתוח התרחש באובונטו וב- MacOS X. לכן, אין זה מפתיע שרוב הכלים המקוריים עבדו היטב. עם מערכות הפעלה דומות ליוניקס. אמנם יש כלים שפותחו במיוחד עבור Windows, אך לעתים קרובות החוויה עבור מפתחים טובה יותר כאשר הם יכולים להשתמש במסוף דמוי יוניקס להתקנת תוכנה ולהפעלת פקודות.. 

מיקרוסופט השקיעה את העבודה בכדי להוציא את WSL 2 והיא השתפרה למקומות רבים בקהילה שהשתמשו בה מאז סוף 2018 להתקנת הפצה של לינוקס. אם אתה משתמש ב- Windows, כבר לא סובל מכך שצריך לעקוב אחר מערכת הוראות מעט שונה בזמן בניית ה- dApp שלך. משתמשי Windows יכולים כעת לעקוב אחר הדרכות Ethereum עבור לינוקס או מק.

קריאה משעשעת ביותר, שהומלצה לי על ידי אברי ארווין, היא של ניל סטפנסון “בתחילת הדרך היה שורת הפיקוד”, חיבור / ספר על ההתנסות האישית שלו במערכות הפעלה בפרק הזמן המתואר בהיסטוריה קצרה זו.

סיכום

מדריך זה והיסטוריה קצרה נותנים למשתמש Windows קצת תובנה כיצד להגדיר את סביבת הפיתוח שלהם באמצעות WSL 2, אובונטו, VSCode, npx, Node, npm ו- Truffle. זה גם נותן קצת היסטוריה של איך ולמה עלינו לעשות זאת. אם יש לך הערות או רמזים מועילים על סמך הניסיון שלך, אנא שלח אותם אל [מוגן בדוא”ל] כדי שאוכל לעדכן מאמר זה ולזכות אותך בתרומתך.

תודה מיוחדת ל- Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson ועוד חברים אדיבים על סקירתך והערותיך על מדריך זה והיסטוריה. אני מעריך את הערותיך.

מפתחים חוזים חכמים חלונות ניוזלטר הירשם לניוזלטר שלנו לקבלת החדשות האחרונות של Ethereum, פתרונות ארגוניים, משאבי מפתח ועוד.

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