קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ בלוקציין ♦ קורס סולידיטי – חלק ראשון – DEPLOY remix

קורס סולידיטי – חלק ראשון – DEPLOY remix

וינר יאיר 26 בנובמבר 2022 אין תגובות

ממשיכים לאחד החלקים היותר חשובים ב remix IDE , בכללי כל הנושא של deploy של חוזה חכם לרשת כלשהי הוא נושא מהותי, מכוון שאנחנו לא רוצים לעשות טעויות כי זה בלתי ניתן לשינוי, כמו כן לא רוצים לזבל את הרשתות השונות בין אם זה testnet או בוודאי mainnet שכאן זה גם יעלה לנו ביוקר.

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

כעת נמשיך, באם הגעתם למקום הנכון אתם תראו את התצוגה הבאה :

Remix Deploy section

ראשית נעבור על האפשרויות שיש באזור השמאלי:

  1. Environment
  2. Account
  3. Gas limit
  4. Value
  5. Contract
  6. Deploy (כפתור כתום)
  7. Deployed Contracts

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

Environment

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


להלן כל הסביבות שרמיקס מאפשר לנו לעבוד איתם:

סולידיטי רמיקס רשימת סביבות
סולידיטי רמיקס רשימת סביבות

רמיקס MV – (השניים ראשונים – זה לא באמת משנה אם זה ברלין או לונדון – השנוי קשור לfork של איתריום), יספקו סביבה "חד פעמית" על גבי הבראוזר, כך שתוכלו להריץ בדיקות "לוקליות" על רשת בלוקציין מינימלית שרמיקס מביא איתו ומאכלס אותו בדפדפן (indexedDB).

injected Provider – מטה מאסק, נוכל להתחבר עם לרמיקס עם הארנק של מטה מסאק לאחת הסביבות שנבחר למשל goerli ושמה להעלות את החוזה ולעשות עליו את כל הטסטים שנרצה, מי שלא מכיר goerli זוהי סביבה שמדמה את הסביבה המקורית (mainnet) אז ככה שאפשר לעשות את כל הטעויות והבדיקות בסביבית הטסט לפני שמעלים למיינט, מאד חשוב הנושא הזה כי ברגע שתעלו את החוזה לכם לסביבה האמיתית אי אפשר לשנות יותר כלום.

ganache and hardhat env – הסביבות הללו הינן לוקליות , את הסביבה הלוקלית של ganache אנחנו מכירים כבר מהפוסטים הקודמים, אבל ישנה סביבה נוספת לוקלית שלא פחות פופולארית, hardhat הינה ספרייה חשובה מאד שכמעט בכל פרויקט בלוקציין משתמשים בה, מביאה איתה סט כלים שימושי מאד ואנחנו עוד נכיר אותה היטב. מלבד הכלים שhardhat מציעה , הינה גם מספקת לנו סביבה לוקלית של בלוקציין ומי שעובד צמוד עם hardhat והתרגל עליה יוכל גם לבדוק את החוזה שלנו מול remix.

connect wallet – אפשרות להתחבר עם אחד הארנקים ברשימה שremix מציע ולעלות את החוזה לאחד הארנקים הללו , שימו לב כי חיבור זה לרוב הינו שימוש לעלות חוזה על הmainnet אז לפני שאתם מעלים חוזה דרך ארנק אמיתי צריך לעשות בדיקות מקיפות (כפי שכבר ציינתי מספר פעמים) .

לוחצים על deploy ומעלים את החוזה שלכם

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

רשימת חשבונות דמה לדיפלוי של חוזה חכם

נבחר את אחת הכתובות של הארנקים השונים (ארנקי דמה כמובן) , כרגע נתקדם לבחירת החוזה שלנו, ללא שינויים ב gas limit או value, בערכים אלא משתמשים באינטראקציה עם החוזה לאחר שהעלנו אותו.

אז כעת נוודא שהחוזה שלנו נבחר ב contract

בחירת הקובץ של החוזה שנרצה להעלות דרך רמיקס.

ונלחץ על הכפתור הצהוב , Deploy!

עכשיו יש פה כמה דברים חדשים סופר מעניינים , למשל יש לנו חוזה שעלה לרשת! , ואפשר לראות שהוא זמין לנו ב Deploy Contracts :

חוזה חכם בסולידיטי שעלה לרשת VM

וכבר אפשר לראות שזמינות לנו הפוקציות שכתבנו ואנחנו יכולים להשתמש בהן והן זמינות לנו על רשת הבלוקציין (הבלוקציין המדומה כמובן)

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

שמירת כתובת החוזה החכם.

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

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

ועכשיו החלק שבו תוכלו להפעיל את החוזה שלכם, הרי כתבנו 2 פונקציות, אחת של קריאה ואחת של כתיבה, ואפשר לראות שיש לנו 2 כפתורים , אחד כחול ואחד כתום , כחול מייצג פקודות של read מהבלוקציין, לא עולות gas fees וכתומות שמייצגות כתיבה ולכן יש עלויות שהינן משתנות בהתאם לעבודה שהן עושות, פעולות גדולות יהיו יקרות ופעולות פשוטות יהיו זולות.

אם תלחצו על הכפתור הכחול תראו מייל את הערך של אותו משתנה שבחרנו להחזיר מהפונקציה למשל:

שימוש בפוקציות read מהבלוקציין remix

עכשיו ננסה להשתמש בפונקציה של write data ונשים איזה ערך כלשהו למשל 111 . ונלחץ על הכפתור הכתום כעת. שימוש לב שנוצרה טרנזקציה, כל שינוי בבלוקציין נשמר ! ועכשיו שתלחצו שוב על הכפתור הכחול תראו שהערך שלנו השתנה בהתאם.

מתכנת בלוקציין . איך לכתוב ולקרוא מהבלוקצין רשת איתריום

סיכום השיעור – קורס סולידיטי – DEPLOY – remix

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

פוסטים קשורים:

remix-קורס-סולידיטיקורס סולידיטי – חלק ראשון – remix קורס בלוקציין – מעלים את החוזה ל-Mainnetקורס בלוקציין – מעלים את החוזה ל-Mainnet קורס בלוקציין - חוזה חכם עבור NFTקורס בלוקציין – חוזה חכם עבור NFT אפליקציה וחוזה חכם DAPPקורס בלוקציין – אפליקציה וחוזה חכם DAPP
blockchain ethers remix בלוקציין מתכנת בלוקציין קורס בלוקציין

אודות המחבר

יאיר וינר להציג את כל הפוסטים של וינר יאיר


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד
דילוג לתוכן
פתח סרגל נגישות כלי נגישות

כלי נגישות

  • הגדל טקסטהגדל טקסט
  • הקטן טקסטהקטן טקסט
  • גווני אפורגווני אפור
  • ניגודיות גבוההניגודיות גבוהה
  • ניגודיות הפוכהניגודיות הפוכה
  • רקע בהיררקע בהיר
  • הדגשת קישוריםהדגשת קישורים
  • פונט קריאפונט קריא
  • איפוס איפוס