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

קורס סולידיטי – חלק שני – מה זה ABI

וינר יאיר 9 באפריל 2023 אין תגובות

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

ולשם כך נוצר הפוסט הזה שכולו מוקדש ל ABI.

Application Binary Interface – ABI

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

Application Binary Interface - ABI 
רמיקס סולידיטי

בייטקוד הוא גרסה בשפת מכונה של החוזה וABI הוא למעשה אובייקט שמכיל מידע על החוזה שלנו. אפשר להעתיק ולהדביק ולהתרשם (אפשר גם ללחוץ על compilation details ולראות את האובייקט בממשק של רמיקס). אז הנה דוגמה של ABI של החוזה שבנינו בשיעור הקודם fundme, בואו נסתכל על זה קצת:

[
	{
		"inputs": [],
		"stateMutability": "nonpayable",
		"type": "constructor"
	},
	{
		"inputs": [],
		"name": "fund",
		"outputs": [],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "",
				"type": "address"
			}
		],
		"name": "funders",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [],
		"name": "owner",
		"outputs": [
			{
				"internalType": "address",
				"name": "",
				"type": "address"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [],
		"name": "withdraw",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	}
]

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

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

סיכום קורס סולידיטי – חלק שני – מה זה ABI

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

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

solidiitiy couse-codcodile Payableקורס סולידיטי – חלק ראשון -Payable functions קורס בלוקציין סולידיטי כתיבת חוזה חכםקורס סולידיטי – חלק שני – כתיבת חוזה חכם receive & fallback קורס סולידיטיקורס סולידיטי – חלק ראשון – receive & fallback remix-קורס-סולידיטיקורס סולידיטי – חלק ראשון – memory, calldata and storage
מתכנת בלוקציין סולידיטי קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי

אודות המחבר

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


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

השארת תגובה

ביטול

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

כלי נגישות

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