נושא הסביבות הוזכר בפוסט קורס סולידיטי – חלק ראשון – DEPLOY remix ובו סקרנו את הסביבות הקיימות ברמיקס. כעת נתרכז בסביבות המרכזיות, שהן: סביבה לוקלית, goerli – testnet, וכמובן mainnet. נתרכז בעיקר בסביבת ה testnet שמדמה בדיוק את הסביבה של mainnet אך לא תעלה לנו באיתריום אמיתי וכן תאפשר לנו לבדוק את החוזה שלנו היטב לפני שנעלה אותו לmainnet שמשם אין חזרה.
לפני שנצלול אל עולם הסביבות, יש לציין כי מעכשיו אנחנו מתחילים להשתמש ב injected provider שהוא meta mask על מנת להתחבר לסביבות השונות שבעלינו פה.
סביבה לוקאלית
תחילה ארצה להעמיק לסביבה הלוקלית שעוזרת לנו המון ושימושה נפוץ וחושב לתת הסבר ראוי בנושא.
סביבה לוקאלית למעשה היא סביבה שבה אנו מתקינים מבנה נתונים בלוקצייני על המכונה שלנו, למשל בלוקציין לוקאלי מוכר ונפוץ מאד הוא ganache וכן הסברתי כיצד משתמשים בו בפוסט קורס blockchain – הארנק Wallet
סביבה לוקאלית מאפשרת לנו לנוע בין ארנקים פיקטיביים עם מטבעות פיקטיביים ומאפשרת לנו לנוע במהירות עם הפיתוח שלנו ולרוב סביבה זו תעזור לנו בתחילת כל דרך למימוש החוזה שלנו. גם בחוזה הפשוט שרשמנו השתמשנו בסביבה לוקלית של רמיקס. איך נעשה זאת? ראשית יש להתקין ganache ולהוסיף את הרשת הלוקאלית, אני לא רוצה לחזור על ההסבר בפוסטים אז מי שלא יודע לעשות זאת שיסתכל בפוסט הזה בחלק התחתון שלו.
Testnet
ישנם מבחר סביבות טסט לאיתריום, וכן זה משתנה, בעבר היו סביבות מסויימות שהפסיקו לעבוד. נכון להיום ונכון לנו לדוגמאות שלנו נשתמש ב Goerli. שתדמה עבורנו סביבה "אמיתית" לבדיקות. אז נתחיל וניצור חשבון ראשון בסביבה זו בעזרת meta mask. כל מה שצריך לעשות זה לעבור על השלבים הבאים:
- לבחור במטה מאסק את הסביבה של goerli אם לא מופיעה לכם, תלחצו על show/hide test networks

- לפתוח חשבון חדש, או להשתמש בקיים, זה לא משנה, יהיו לרשותכם 2 חשבונות account1 account2, או שתפתחו חדש מה שנוח לכם, אני שיניתי את השם של account1 פשוט והפקדתי אליו קצת ממקומות שונים ברשת.

- להפקיד מטבעות של הרשת, לא תמיד משימה פשוטה, יש לחפש באינטרנט goerli faucet קשה לי להמליץ פה על אתרים כי זה משתנה לעיתים אז פשוט לחפש ולתת כתובת של ארנק שלכם של goerli בלבד! יספיק לכם משהו כמו 0.05 נכון לעכשיו תוכלו למצוא באתר של alchemy, האתר דורש הרשמה, ממליץ להירשם, alchemy חזקים מאד בתעשייה ותפגשו אותם בהמשך אם לא בקורס הזה אז בקורסי ההמשך.
Mainnet
בדומה מאד לtestnet רק שהפעם זה יעלה לכם באיתריום אמיתי וגם החוזה שלכם יעבוד מול העולם ויוכל לקרוא לכתוב פעולות וגם לקבל איתריום אמיתי. יש לדאוג שאתם עושים את כל הטסטים האפשריים לפני שמעלים לרשת האמיתית.
מעלים חוזה חכם לרשת ה testnet
נעשה את החוזה שלנו fundme לרשת הטסט של goerli דרך רמיקס. כל מה שעלינו לעשות זה לבחור injected provider בשביל להשתמש במטה מאסק:

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

לאחר אישור הטרנזקציה תוכלו לראות את החוזה שלכם ברשת: יש ללחוץ על view on block explorer

ל goerli יש את goerli.etherscan.io שמאפשר לנו לראות נתונים על החוזה וגם לעשות פעולות כאלו ואחרות, זוכרים שהיה לנו ברמיקס אפשרות להפעיל את החוזה? ללחוץ על כפתורים ולקבל קריאות או כתיבות לבלוקציין? אז גם בgoerli.etherscan.io אפשר לעשות זאת, כמו כן צריך לעשות verification לחוזה. איך עושים את זה? זה לא תמיד המשימה הכי פשוטה. נעבור צעד אחר צעד ואסביר.
איך עושים verification לחוזה חכם
בגדול יש כל מיני דרכים לעשות verification , אפשר להתחבר לחוזה עם רמיקס, שזה לרוב יוצא מאד קל אבל זה לא לעשות verification , אבל תוכלו לעבוד מול החוזה בקלות, כל שעליכם לעשות זה לשים את כתובת החוזה בשדה ולהתחבר לחוזה:

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

אבל אנחנו רוצים לעשות ה verification. בדרך קצת יותר מקובלת, דרך etherscan היא ישירות דרך הממשק שלהם, ובהמשך נעשה זאת בדרך אחרת דרך הטרמינל (בהמשך הקורס)
verification דרך etherscan
ברגע שאיתרתם את החוזה שלכם תגיעו לעמוד שבו יהיה לינק כזה של verify contract וברגע שתלחצו עליו יתחיל תהליך של הverification.
נתחיל שלב ראשון:
כל שעליכם לעשות זה ללכת לחוזה שלכם ולמצוא את הפרטים הללו של הקומפיילר שהשתמשתם בו להעלאת החוזה ואת הרישיון שהגדרתם לחוזה וללחוץ continue


שלב שני:
יהיה עליכם להעלות את קוד המקור של החוזה, אפשר גם להעלות abi (לא חובה) בחוזים גדולים יותר שכוללים יותר מקובץ אחד , השלב הזה מורכב יותר ואולי נראה דברים כאלה בקורס זה או בקורסי ההמשך.

שלב שלישי:
קבלתם אישור על החוזה! החוזה עבר וריפיקציה


הכל טוב ויפה, ומה עכשיו?
מה שנשאר לעשות זה לעבוד עם החוזה, שימוש לב, שהחוזה עובר וריפיקציה כמובן שכל אחד נגיד לפקודות של החוזה, מלבד כמובן הפעולות שהגדרתם רק עבור owner באפשרותינו להתחבר ל etherscan עם מטה מאסק ולבצע פעולות של fund ועוד..
תוכלו לגשת לטאבים השונים של read and write ולעבוד עם החוזה שלכם:


סיכום קורס סולידיטי environments and verification
אז כפי שראינו הפעולות הם דיי טכניות ואין כאן שום קושי אלא רק לעבור על השלבים, אך שלבים אלו חשובים ותדרשו לעשות אותם כמעט בכל חוזה שתכתבו, כמו כן זכרו שגם כמעט כל החוזים עוברים וריפיקציה, אם תכנסו נגיד לחוזה של sandbox או כל חוזה אחר מוכר אתם תוכלו לראות את כל הפונקציות והאפשרויות השונות בחוזה, אפשר ללמוד המון מלהתבונן בחוזים שונים שנכתבו. כמו כן נדון בנושא של verification לעיתים וזה חלק בלתי נפרד מהעובדה שלכם כמפתחי בלוקציין.
בהצלחה 🐊😊