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

קורס סולידיטי – חלק שלישי– contracts deployment

וינר יאיר 13 ביולי 2023 אין תגובות

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

npx hardhat run scripts/deploy.js

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

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

אז יש קובץ אחד חשוב שדואג לקינפוגים הללו הוא hardhat.config.js שיושב בתיקיה הראשית של הפרויקט שלנו. נכנס אליו ונוסיף:

להלן קובץ עם הקינפוג של גאנש:

require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.18",
  networks: {
    localhost: {
      url: "http://127.0.0.1:8545"
    },
    
    hardhat: {
      // See its defaults
    },
    
    ganache: {
      url: 'HTTP://127.0.0.1:7545',
      accounts: ['PRIAVE_KEY']
    }
  }
};

אז אפשר לראות שהוספתי ברשימת הnetworks את הקינפוג לרשת של גאנש, כל מה שיהיה עליכם לעשות זה לפתוח את הסביבה של גאנש ולחבר את אחד החשבונות למטה מאסק כפי שעשינו בעבר בפוסט של blockchain wallet .
ועכשיו אחרי שיש לכם את גאנש במטה מסק מוגדר וגם הגדרתם את הסביבה בקונפיג, כל מה שנשאר זה להריץ את הפקודה הבאה:

npx hardhat run scripts/deploy.js --network ganache

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

להלן צילומי מסך שיעזרו לכם להתמצא: (כמו כן כל אחד ישים את המפתח הפרטי שלו במקום PRIAVE_KEY)

טרזקציה עבור חוזה שנחתם בבלוקציין של גאנש:

טרזקציה עבור חוזה שנחתם בבלוקציין של גאנש

באלנס במטה מאסק לאתר שהחוזה עלה:

מציאת הטוקן החדש שיצנו וייבוא שלו לחשבון שלנו:

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

require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.18",
  networks: {
    localhost: {
      url: "http://127.0.0.1:8545"
    },
    
    hardhat: {
      // See its defaults
    },
    
    goerli: {
      url: 'https://eth-goerli.g.alchemy.com/v2/KJH55GayDCAOzD1F28WOAM5Ad6WL01wa',
      accounts: ['PRIAVE_KEY']
    }, 
    
    ganache: {
      url: 'HTTP://127.0.0.1:7545',
      accounts: ['PRIAVE_KEY']
    }
  }
};

בישביל להשיג גישה לסביבה זו, אפשר לגשת לאתר של alchemy ולייצר אפליקציה ולקבל URL מתאים, צרו חשבון והקימו אפליקציה חדשה ובחרו את הרשת (network) של ethereum goerli:

לאחר מכן תוכלו ללחוץ על view key ולקבל את הURL.

ואז במטה מאסק יהיה עליכם גם לעבור לרשת goerli שב99 אחוז מהמקרים כבר מוגדרת לכם by default. אז צרו חשבון חדש, וגשו למפתח הפרטי והשתמשו בו במקום שרשום PRIVET KEY , בהמשך נעביר את כל הפרטים הללו לקובץ ENV ככה שהכל יהיה יותר מאובטח. לשם התרגול נשים הכל בקובץ הקונפיג.

עכשיו נוכל לעשות את אותו התהליך, נריץ את הפקודה באופן הזה:

npx hardhat run scripts/deploy.js --network goerli

חשוב לציין כי מכוון שgoerli מדמה סביבה אמיתית יש צורך באיתריום של גוארלי, ולכן יהיה עליכם למצוא אפשר לקבל קצת איתר לבדיקות, למשל אם תחפשו בגוגל faucet ethereum goerli סיכוי גבוה התמצאו, במידה ולא מצאתם, תרשמו כתגובה את הpublic key שלכם ואני אעביר לכם.

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

כמו כן תוכלו לגשת ל"goerli.etherscan " ולהקיש את כתובת החוזה ולראות שהוא אכן חתום בבלוקציין.

סיכום שיעור contracts deployment בקורס סולידיטי

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

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

קורס סולידיטי – חלק שלישי– OpenZeppelin קורס בלוקציין סולידיטי חלק שלישי - hardhatקורס סולידיטי – חלק שלישי– hardhat קורס בלוקציין - וריפיקציה לחוזה חכםקורס סולידיטי – חלק שני – environments and verification קורס בלוקציין עושים MINT בDAPPקורס בלוקציין – עושים MINT בDAPP
blockchain ERC20 ethers hardhat מתכנת בלוקציין סולידיטי קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי

אודות המחבר

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


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

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
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 אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד