ברוכים הבאים לחלק השלישי שזהו החלק הכי מעשי בקורס מפתחי בלוקציין ובפיתוח אפליקציות WEB3. בפרק הזה נעסוק בפיתוח מחוץ לרמיקס, כלומר בתוך הIDE, נקמפל חוזים ונדבר איתם מהמחשב שלנו ונממש את הדברים שכבר למדנו. אז בואו נתחיל עם הספריה הכי פופולארית והיא hardhat.
רקע קצר על Hardhat
Hardhat הוא סביבת פיתוח פופולרית לבניית חוזים חכמים (smart contracts) ברשת Ethereum. אשר מספקת לנו, המפתחים יכולות רבות ומקלה עלינו בעבודת האינטגרציה ועוד… כמו כן לבדוק ולהפעיל חוזים חכמים בצורה מאובטחת ויעילה.
אחת התכונות העיקריות של Hardhat היא האינטגרציה עם מכונת הגלם Ethereum (EVM). זה מאפשר לנו, מפתחי הבלוקציין (web3) להריץ את חוזים חכמים בסביבות שונות, כגון סביבות טסט המדמות את הרשת Ethereum האמיתית, מה שהופך את הבדיקה והתיקון של קוד לפני הפרסום לפעולה קלה ובטוחה יותר.
בנוסף , Hardhat מספק טווח של תכונות נוספות ושימושיות, כמו תמיכה מובנית במסגרות בדיקה פופולריות כמו Mocha ו-Chai, וגם יכולת לתקשר עם command line המאפשר לנו לעבוד ישירות עם החוזה החכם שלנו מתוך שורת הפקודה.
עוד יתרון חשוב של Hardhat הוא מערכת התוספים שלו. זה מאפשר לנו להרחיב את הפונקציונליות של הפלטפורמה בצורה קלה ונוחה עם תוספים מותאמים לפרויקטים. נשתמש בכמה תוספים שונים בהמשך.
נתחיל וניגש לIDE שלנו, במקרה שלי זה vscode ונתחיל מאפס לכתוב בפרויקט בJS עם NPM.
כל מה שנעשה זה נפתח תיקיה חדשה, נקרא לה WEB3WELL (איך שתרצו בתכלס).
npm install hardhat
עכשיו יהיה עליכם להריץ את הפקודה הבאה:
npx hardhat
הפקודה הזו תייצר לכם בתיקיה של הפרויקט תבנית בסיסית לעבודה עם החוזים, מה שנקרא boilerplate.

כפי שניתן לראות, קיבלנו בתוך הפרויקט שלנו כמה קבצים חדשים ועליהם נתבסס. חשוב להכיר את כל הקבצים שקיבלנו, אתן תיאור קצר לכל קובץ ובהמשך הלימודים של פרק זה נחפור כל קובץ בנפרד.
- בתיקיית contracts נראה קובץ lock.sol זהו קובץ דוגמא לחוזה. למעשה, כל החוזים שנרשום, נשים בתיקיה זו
- תיקיית scripts, קובץ deploy.js. הקובץ שדואג לעשות את הדיפלוי של החוזה, כשנרצה להעלות את החוזה שלנו לרשת כלשהיא, נעבור דרך קובץ זה.
- תקיית ה test. שמה נרשום טסטים, לרוב נוטים להזניח את כתיבת הטסטים, אבל אצלנו בשיעורים נשים דגש על זה כי מה שיותר חשוב בלהיות מפתחי בלוקציינים טובים זה גם לדעת להיות אחראי ולרשום טסטים ולוודא שהכל עובד טוב כי אחרת זה יעלה לכם ביוקר.
- hardhat.config.js קובץ הקונפיגורציות של הארדהאט. נעשה בו שימושים רבים, קובץ חשוב ביותר, למשל את הסביבות השונות נגדיר בקובץ זה ועוד דברים חשובים אחרים שנדבר עליהם בהמשך כמובן.
עוד רגע מתחילים! פקודות עם hardhat וספריות נלוות.
הCLI של HARDHAT שימושי מאד, אנחנו נשתמש בפקודות מסויימות דיי הרבה, למשל
npx hardhat – שכבר פגשנו (מייצר פרויקט חדש)
את הפקודה הבאה שנרצה להכיר היא:
npx hardhat node
אבל שימו לב שבשביל להריץ אותה יש מצב שיהיה חסר לכם package. אז יהיה עליכם להתקין את הספריה:
npm install –save-dev @nomicfoundation/hardhat-toolbox
הפקודה של npx hardhat node תריץ עבורכם את הבלוקציין הלוקלי שhardhat מייצר עבורכם, אחלה בשביל לעשות בדיקות על החוזה שלכם בקלות ובמהירות.
npx hardhat compile – יקמפל את כל הקבצים שלכם וייצר תיקיה נוספת שנקראת artifacts, שתכיל את הABI, בדומה לכפתור compile שאנחנו כבר מכירים מremix.
הפקודה של להעלות את החוזה שלכם יהיה:
npx hardhat run –network scripts/deploy.js
סיכום שיעור – קורס סולידיטי – חלק שלישי– hardhat
קורס מפתחי בלוקציין מתחיל עכשיו! מכוון שהפיתוח יהיה מחוץ לרמיקס בשילוב עם האפליקציה שלנו (פרונט בלבד בפרויקט הזה). ברור שלמדנו המון כבר אבל הפרקטיקה היא הספיגה של התיאוריה, ועכשיו אנחנו נתחיל לכתוב וליישם את מה שלמדנו עד כו. כמו כן השימוש בhardhat יהיה עבור הפרויקט שלנו ובהתאם לכך אלמד את הדברים שחשובים לנו להבין לצורך הכתיבה, ומי שרוצה להעמיק עם בhardhat מוזמן לפנות לדוקומנטציה שלהם באתר שלהם ב hardhat
בהצלחה!