מדריך אתריום - מבט עמוק יותר לאתריום!

מדריך אתריום זה מסביר את אתריום מנקודת מבט אדריכלית וכיצד הוא מהווה את הפלטפורמה הגדולה ביותר לבניית DAPPS ו- DAO.

את'ריום הדרכה:

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

אני רואה באתריום בלוקצ'יין לתכנות שישרת את רוב ארגוני ה- B2C בעתיד. Ethereum מעניקה למפתחים את החופש ליצור מודלים מורכבים לביצוע בבלוקצ'יין, במקום להגביל אותם לפעולות שהוגדרו מראש כמו בלוקצ'יין ביטקוין.





עם גישה זו, Ethereum הפכה את עצמה לפלטפורמה לשפע של יישומים וארגונים מבוזרים הכוללת מטבעות קריפטו, אך אינה מוגבלת.

אעסוק במגוון נושאים באופן ממצה במהלך הפעלת הבלוג 'הדרכת Ethereum'. נושאים אלה כוללים:



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

מדריך אתריום | חוזים חכמים של Ethereum | אדוריקה

מדריך אתריום: חשבונות אתריום

לרשת את'ריום שני סוגים של חשבונות, כלומר:



  • חשבונות חיצוניים
  • חשבונות חוזה

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

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

בדרך כלל נשלטים על חשבונות אלה בעזרת אלגוריתמי הצפנה של מפתח ציבורי כמו RSA. המטרה העיקרית של חשבונות חיצוניים היא לשמש כמדיום למשתמשים לקיים אינטראקציה עם Ethereum Blockchain.

לעומת זאת, חשבונות חוזים הם אוסף של קוד השוכן בבלוקצ'יין בכתובת ספציפית. חוזים אלה מופעלים על ידי חשבונות חיצוניים, או על ידי חוזים אחרים באמצעות פונקציית קריאה לפעולה ספציפית. חוזים אלה נכתבים בשפות סקריפטים ברמה גבוהה כמו Solidity, Serpent או LLL. כל חוזה השוכן בבלוקצ'יין אתריום נשמר בתבנית ספציפית הנקראת EVM (Ethereum Virtual Machine) bytecode שהוא פורמט בינארי ספציפי לאתריום.

זה יהיה הוגן רק שאסביר את EVM עכשיו כשסיפרתי לך על EVM-bytecode.

מדריך אתריום: מכונה וירטואלית של אתריום

אתריום, באופן כפרי, מגדיר מערך פרוטוקולים כלליים שהפכו לעמודי התווך של פיתוח יישומים מבוזרים. בלב זה, מכונת ה- Ethereum Virtual Machine. האיור שלמטה מסביר את הארכיטקטורה:

אדריכלות אתריום - מדריך אתריום - אדוריקה

עבור דוגמאות לתכנית לולאה

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

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

מדריך אתריום: רשת אתריום

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

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

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

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

מדריך אתריום: אתרים וגז

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

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

יחידותערך וויוויי
ווי1 weiאחד
Kwei1e3 wei1,000
Mwei1e6 wei1,000,000
לִסְרוֹג1e9 wei1,000,000,000
microEther1e12 wei1,000,000,000,000
milliEther1e15 wei1,000,000,000,000,000,000
אֶתֶר1e18 wei1,000,000,000,000,000,000,000

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

גז משמש כמדד לתשלום עבור משאבי חישוב ברשת. לכל חוזה ברשת יש כמות מוגדרת של גז שהיא יכולה להשתמש בו לצורך חישוביו. זה מכונה ' מגבלת גז 'מונחי גז אחרים נלווים להלן:

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

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


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

מדריך אתריום: כרייה

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

מנקודת מבט טכנית יותר, אלגוריתם ההוכחה לעבודה נקרא Ethash, שהוא אלגוריתם hashing בהשראת האלגוריתם של Dagger-Hashimoto.

כעת, כשראינו את ארכיטקטורת העבודה של את'רום ודנו בה אלמנטים חיוניים, בואו נראה בעיה בעולם האמיתי ואת גישת האת'רום לפתור אותה.

מדריך אתריום: שימוש במימון המונים מבוזר

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

  • מי שפספס את המועד האחרון לקמפיין לא יכול להיכנס יותר
  • כל תורם ששינה את דעתו לא יכול לצאת

גִישָׁה :

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

פִּתָרוֹן :

הנה החוזה החכם של הסולידיות להצהרת הבעיה שלעיל.

פרגמה סולידיות ^ 0.4.16 ממשק אסימון {העברת פונקציה (מקלט כתובת, סכום ממוצע)} חוזה Crowdsale {כתובת נהנה ציבורי מימון ציבורי לא יעד סכום ציבורי מעלה מועד אחרון ציבורי מעל סמלי מחיר ציבורי אסימון ציבורי מיפוי שכר (כתובת => uint256) יתרה ציבורית fundingGoalReached = false bool crowdsaleClosed = אירוע כוזב GoalReached (מקבל כתובת, uint totalAmountRaised) אירוע FundTransfer (תומך כתובת, סכום ממש, bool isContribution) / ** * פונקציית Constrctor * * הגדרת הבעלים * / פונקציה Crowdsale (כתובת ifSuccessfulSendTo // הכתובת של הבעלים כאשר המימון מוצלח uint fundingGoalInEthers // סכום היעד להעלאת משך ה- UintInminutes // נתון זמן uint etherCostOfEachToken // עלות ההון בכתובת כתובת אתר OfTokenUsedAsReward // כתובת אסימון) {מוטב = ifSuccessfulSendTo fundingGoal = FundingGoalInEthers * 1 + durationInMinutes * מחיר של 1 דקות = etherCostOfEachToken * אתר אחד ל- kenReward = אסימון (addressOfTokenUsedAsReward)} / ** * פונקציית Fallback * * הפונקציה ללא שם היא פונקציית ברירת המחדל שנקראת בכל פעם שמישהו שולח כספים לחוזה * / פונקציה () בתשלום {דורש (! crowdsaleClosed) סכום גבוה = msg. יתרת ערך Of [msg.sender] + = amount amountRaised + = amount tokenReward.transfer (msg.sender, amount / price) FundTransfer (msg.sender, amount, true)} modifier afterDeadline () {if (now = fundingGoal) {fundingGoalReached = TrueReached יעד (מוטב, סכום עלה)} crowdsaleClosed = true} / ** * משוך את הכספים * * בודק אם הושגה המטרה או מגבלת הזמן, ואם כן, ויעד המימון הושג, * שולח את כל הסכום למוטב. אם המטרה לא הושגה, כל תורם יכול למשוך * את הסכום שתרם. * / function safeWithdrawal () afterDeadline {if (! fundingGoalReached) {uint amount = balanceOf [msg.sender] balanceOf [msg.sender] = 0 if (amount> 0) {if (msg.sender.send (amount)) { העברת כספים (msg.sender, amount, false)} אחר {balanceOf [msg.sender] = סכום}}} אם (fundingGoalReached && מוטב == msg.sender) {אם (beneficiary.send (amountRaised)) {FundTransfer (מוטב, amountRaised, false)} אחר {// אם איננו מצליחים לשלוח את הכספים למוטב, בטל את הנעילה של מממנים על יתרת מימון GoalReached = false}}}

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

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

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך בהקדם האפשרי.