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

קורס בלוקציין – עושים MINT בDAPP

וינר יאיר 20 במרץ 2022 אין תגובות

אוקי אז אחרי שעשינו את רוב העבודה סביב הבלוקציין הגיע הזמן לתת ליוזרים לעשות MINT דרך איזה אפליקציה וובית שתאפשר להם להיות באינטראקציה עם החוזה שלנו וזה מה שנקרא
DAPP (Decentralized application)

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

הארד הט hard hat – מקמפלים את החוזה עם js.

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

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

npm i hardhat

יותר מכך אני מציע להתקין את הספריה כגלובלית כך:

npm i -g hardhat

ואז תגשו לתיקיה בפרויקט שלכם ותריצו את הפקודה הבאה:

npx hardhat

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

לאחר התקנה של npx hardhat
לאחר התקנה של npx hardhat

אפשר לראות שההתקנה אצלי בוצעה בתיקיה הראשית של הפרוקיט ויש לי גם את התיקיה של frontend שמרכזת את האפליקציה של הקליאנט. שימו לב שנעשה קריאה לחוזה החכם יהיה עלינו לאפשר לריאקט לגשת לקבצים מחוץ לתיקיית הSRC. (אסביר על זה בקצרה בהמשך).

תיקיית ה contracts

בתיקיה הזו נוכל לאכלס את כל החוזים שנכתוב, נכון לעכשיו יש לנו חוזה פשוט עבור NFT . נעתיק את הקוד שלנו מ REMIX לתוך קובץ חדש שניצור בתיקיית ה- contracts. ונשים בו את הקוד שלנו. אך יהיה לנו כמה שגיאות בIMPORTS של openzeppelin . לכן נתקין את הספריות של openzeppelin. (אם עוד לא עשיתם זאת)

npm i @openzeppelin/contracts

ועכשיו הכל צריך להיות בסדר ללא שגיאות. עכשיו לפני שנמשיך עם hardhat , נדאג לעדכן את קובץ ה hardhat.config.js על פי גרסת ה solidity של החוזה שלנו.

require("@nomiclabs/hardhat-waffle");

// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
  const accounts = await hre.ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
});

// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more

/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: "0.8.4",
  paths: {
    artifacts: './src/artifacts'
  }
};

ורגע לפני שתעשו compile יש לעשות עוד קצת עבודה עם HARDHAT וזה לרשום את הסקריטפ שיקח את החוזה ויקמפל אותו,

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

// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `npx hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
const hre = require("hardhat");

async function main() {
  // Hardhat always runs the compile task when running scripts with its command
  // line interface.
  //
  // If this script is run directly using `node` you may want to call compile
  // manually to make sure everything is compiled
  // await hre.run('compile');

  // We get the contract to deploy
  
      const YvinNFT = await hre.ethers.getContractFactory("CodcodilePunks");
      const yvinNFT = await YvinNFT.deploy();
        await yvinNFT.deployed();
      console.log('yvinNFT.address', yvinNFT.address);
  
}

// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main().then(()=>{
  process.exit(0)
  .catch(err=>{
      console.error(err);
      process.exit(1)
  })
})




ולאחר מכן לעשות דיפלוי לחוזה שלנו, כך:

npx hardhat compile

כמו כן לאחר קומפייל אתם תראו את קבצים נוספים כמו תיקיית artifacts ועוד…

כעת נוכל להתקדם ולבדוק את החוזה שלנו בסביבה לוקלית

בשביל זה נריץ סביבת בדיקות לוקלית עם hardhat אז נריץ את הפקודה הבאה:

npx hardhat node

והארד הט יריץ עבורינו סביבת בלוקציין וגם יתן לנו כמה כתובות של חשבונות דמו עם 10000 ETH .
כפי שאתם כבר יודעים לעשות , יהיה עליכם להגדיר אחד מהחשבונות במטה מאסק לצורך בדיקה של MINTING.

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

לסיכום קורס בלוקציין – עושים MINT בDAPP

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

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

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

אודות המחבר

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


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

השארת תגובה

ביטול

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

כלי נגישות

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