ממשיכים ולומדים איך להיות מתכנתי בלוקציין והפעם פרק עם קצת פחות קוד אבל חשוב מאד להבנה שלכם וגם פרקטיקה אם כלים חיוניים לנו להמשך הפרויקט. אז נתחיל עם השאלה מרכזית, איך לשמור קבצים בבלוקציין? אנחנו הרי צריכים לאחסן איפשהו את היצירות שלנו על מנת שתוכל להתביע אותם כNFT.
IPFS – מה זה IPFS?
קודם כל זה רשאי התיבות של InterPlanetary File System בתרגום חופשי זה "מערכת קבצים בין פלנטות". הרעיון שעומד מאחורי זה הוא לאפשר לאנשים לאחסן קבצים בצורה יותר חופשית ללא תלות בשום גוף אחד המרכז את כל המיידע , למשל פייסבוק וגוגל, כך שבעזרת התשתית של בלוקציין לקבל תשתית מבוזרת מוצפנת ומאובטחת. כמו כן נציין שפרוטוקול זה מיישם את הרעיון של הבלוקציין כתפיסה מבוזרת ועושה שימוש בP2P בדומה לTORRENT ויודעת לייצר HASH בשביל לאתר קבצים בגישת content base addressing
כמובן שהנושא מורכב ומי שרוצה ללמוד יותר על פרוטוקול זה מוזמן , אנחנו כעת מתקדמים הלאה להעלאת התמונות שלנו (היצירות NFT שלנו) ונעשה אותם לIPFS בעזרת כלי שמקל עלינו מאוד (כלי פופולארי מאד) וגם חינמי עד נפח מסויים והוא Pinata.ci
לפני שניגע בהעלאת הקבצים נראה כי למשל באתר של OPENSEA יש הסבר עבור נושא הURI של יצירות הNFT שלכם ולכן כדאי לבדוק תמיד את הדרישות הללו בפלטפורמות המכירה השונות, היתרון המרכזי של לעקוב דווקא אחר OPENSEA זה בגלל הפופולאריות ואנשים שירכשו מכם יצירות ככל הנראה ירצו למכור שוב ולכן יש חשיבות לתמיכה זו.

קבצי הNFT שלנו
אז בשביל שיהיה לנו קבצים מוכנים להעלאה לרשת בלוק ציין וגם להפוך אותם לNFT , יהיה עלינו לעשות כמה פעולות ולפני זה להבין מה עלינו להכין. כל יצירה מכילה 2 קבצים , אחד קובץ תמונה(למשל PNG JPG GIF…) וקובץ נוסף שהוא JSON שמכיל metadata של היצירה שלנו. כל יצירה חייבת להיות משויכת לקובץ מידע שנראה כך:
{ "name": "Your Collection #1", "description": "Remember to replace this description", "image": "ipfs://<hash>/1.png", "dna": "bb3837efe8780712f3f93bbdade94f5b81fc68c0", "edition": 1, "date": 1646913648074, "attributes": [ { "trait_type": "Uzi", "value": "Uzi_brown" }, { "trait_type": "Mouth", "value": "mouth_e" }, { "trait_type": "Eyes", "value": "eye_p" }, { "trait_type": "Glasses", "value": "Glasses_q" }, { "trait_type": "Hats", "value": "hat_u" }, { "trait_type": "Smoke", "value": "uzi_smoke" } ] }
למעשה יש פה פרטים שמאפיינים את היצירה למשל אפשר לראות את כל המאפיינים של היצירה במערך attributes. שם הקבצים צריכים להיות ממוספרים מ1 והילך ובהתאמה גם קבצי התמונה שתעלו.רוב הפרטים פה נוצרים לבד וזה תלוי גם באיזה מנוע generator השתמשתם , למעשה רוב המנועים הללו יודעים לייצר לכם את הקבצים הללו, אם אין לכם הרבה יצירות ואתם יוצרים לבד את הקבצים אז מה שחשוב באמת זה:
- name
- description
- image
- date
- attributes
וכן זה משתנה בין בלוקציינים השונים אזכיר כי אנחנו עובדים על ETHEREUM.
העלאת הקבצי ב NFT לpinata
יש לגשת לאתר של פינטה ולפתוח יוזר זה מאד פשוט וברור אין צורך להסברים באמת. וההסבר החשוב הוא בהעלאת הקבצים, ונציין כי אם העלאתם קבצים לא נכונים או שיניתם משהו ותרצו לשנות תוכלו למחוק את הקבצים דרך pinata אבל אחרי הMINT לא יהיה אפשר לבצע שינויים כמובן.
אז נתחיל בכך שתחלקו את הקבצים לשתי תיקיות שונות אחת עבור התמונות ואחת עבור הmetadata. ועכשיו יהיה עליכם להעלות את תיקיית התמונות בלבד לפינטה כך:

עכשיו יהיה עליכם להגדיר שם לתיקיה שתעלה לpinata:

וזה הכל למעשה, עכשיו תראו בטבלה שיש לכם תיקיה ויש לה CID שזה ההאש (hash) היוניקי שאותו נצטרך להגדיר בקבצי הJSON שלנו כפי שניתן לראות בקובץ הJSON בשורה 4.
לאחר שעדכנתם את הקבצים יהיה עליכם לחזור על התהליך רק עבור תיקיית ה metadata.
כעת נוכל להמשיך ולהרים את האתר שלנו ולהציג תמונות וגם לאפשר Minting לתמונות אלו.
לסיכום קורס בלוקציין – יצירות הNFT על גבי הבלוקציין
יכול להיות שחלק מהדברים שראיתם בשיעורים הקודמים יותר מסתדרים לכם עכשיו שיש בידיינו את היצירות ואת הURI. בשיעור הבא נעבור על ההצגה בUI של היצירות וגם נסתיר יצירות שעדיין לא עשו להם MINT. ואנחנו כבר מתקדמים יפה מאוד ובקרוב יהיה לכם אתר מבוסס WEB3 שמתקשר עם חוזה חכם ומאפשר רכישה של יצירות NFT!!! נתראה בשיעור הבא 🐊🌝