חוזה חכם של Ethereum - כיצד לבצע חוזה חכם?



במדריך זה של חוזה חכם של Ethereum, תלמד כיצד ליצור, לפרוס ולבצע חוזה חכם באמצעות Truffle ו- Ethereum Network Network.

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

מעוניין בפיתוח אתריום? בדוק את זה בשידור חי .





אנו נסתכל על הנושאים הבאים במדריך זה לחוזה חכם של Ethereum:

  1. מקרה שימוש: חוזים חכמים בתהליך ביטוח
  2. היתרונות של חוזים חכמים
  3. התקנת דרישות קדם
  4. קביעת תצורה של גוש בראשית
  5. הפעלת הרשת הפרטית של Ethereum
  6. יצירת חשבון אתריום
  7. יצירת חוזה אתריום חכם
  8. ביצוע חוזה חכם של Ethereum

מקרה שימוש: חוזים חכמים בתהליך ביטוח

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



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

ביטוח עיכוב טיסה - אדוריקה

כעת, אם הטיסה שלך מ- A ל- B מתעכבת (מה שיגרום לך להחמיץ את הטיסה מ- B ל- C), ישולם לך סכום הביטוח. הדרך הרגילה שבה זה עובד היא, אם הטיסה שלך מתעכבת, אתה תובע את הביטוח. ואז, מישהו שם יאמת ויאשר את הביטוח ולבסוף, תקבל את סכום הביטוח שלך. אבל זה תהליך ממושך למדי.



כיצד תוכלו להשתמש בחוזים חכמים לשיפור תהליך הביטוח?

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

שלום! סכום ביטוח ששולם בכמה שניות. כך חוזים חכמים פשוטים ומהירים גורמים לתהליך לקרות.

היתרונות של חוזים חכמים

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

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

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

מיזוג ב c ++

התקנת דרישות קדם

לצורך הדרכת חוזה חכם זה של Ethereum, נצטרך 5 יישומים חשובים:

  • NodeJS
  • NPM
  • אתריום
  • כְּמֵהָה
  • מהדר מוצקות

התקנת NodeJS

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

כדי להתקין את Nodejs, הפעל את הפקודה הבאה במסוף שלך:

$ sudo apt-get להתקין nodejs

התקנת NPM

NPM מייצג את Node Package Manager ומשמש להפעלת יישומי Nodejs.

כדי להתקין NPM, הפעל את הפקודה הבאה במסוף שלך:

$ sudo apt-get להתקין npm

התקנת אתריום

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

כדי להתקין את Ethereum, הפעל את הפקודה הבאה במסוף שלך:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

התקנת טראפל

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

להתקנת Truffle, הפעל את הפקודה הבאה במסוף שלך:

$ npm להתקין -g כמהין

התקנת מהדר המוצקות

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

כדי להתקין את מהירות המידה, הפעל את הפקודה הבאה במסוף שלך:

$ sudo npm להתקין -g solc

קביעת תצורה של גוש בראשית

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

בואו ניצור תחילה ספריה חדשה ואז בספריה זו ניצור את קובץ בראשית

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

כעת, הזן את השורות הבאות ב- genesis.json קוֹבֶץ:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'קושי': '200' 'gasLimit': '99999999999999'}

שמור זאת וצא.

הפעלת הרשת הפרטית של Ethereum

במדריך זה של Etheruem Smart Contract, נפרוס חוזה חכם של Ethereum ברשת פרטית. לכן, כדי להפעיל רשת זו נשתמש בפקודה הבאה:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, mining'

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

datadir: הספריה שבה מאוחסנים הנתונים הקשורים ל- Blockchain.

RPC: מאפשר שרת HTTP-RPC.

rpcport ו rpcaddr משמשים להגדרת היציאה והכתובת של הרשת בהתאמה.

rpcapi: מאפשר לנו לקיים אינטראקציה עם רשת Ethereum באמצעות ממשקי API שונים.

חיבור גת לבלוקצ'יין הפרטי של את'ריום

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

$ geth צרף http://127.0.0.1:8543

כעת אנו נמצאים בקונסולת Geth בה אנו יכולים להפעיל פקודות לאינטראקציה עם Blockchain.

יצירת חשבון אתריום

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

כיצד לסיים את תוכנית Java

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

> personal.newAccount ('seedphrase')

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

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

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

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

הערה : האתרים האלה הם אתרי דמה ואין להם שום ערך ממשי.

כדי לבדוק את היתרהאתריםבחשבון נפעיל את הפקודה הבאה:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

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

באמצעות מרחב השמות c ++

כדי להפסיק את הכרייה, הפעל את הפקודה הבאה:

> miner.stop ()

יצירת חוזה אתריום חכם

יצירת פרויקט כמהין

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

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

כמהין $ mkdir כמהין $ כמהין $ כמהין init

ה כמהין init פקודה תיצור את כל הקבצים הדרושים לפרויקט כמהין.

עכשיו שיש לנו הכל לפרוס חוזה חכם של Ethereum מוכן, בואו נלך לכתוב חוזה חכם 'Hello World'.

כתיבת חוזה חכם 'שלום עולם'

יש לכתוב את כל החוזים במדריך 'החוזים'. נעבור לספריה זו וניצור חוזה בשם 'HelloWorld.sol' ונוסיף את השורות הבאות בקובץ זה:

פרגמה סולידיות ^ 0.4.15 חוזה HelloWorld {מחרוזת פונקציית הודעה ציבורית Hello () public {message = 'שלום עולם!' }}

זהו זה! אך לא ניתן לבצע את החוזה החכם הזה מעצמו. נצטרך לבצע מספר תצורות עבורו.

הגדרת הגירה של כמהין

כדי להעביר את החוזה החכם שלנו, נצטרך להוסיף קובץ ב- 'נדידות' ספריה ב- 'כְּמֵהָה' מַדרִיך. בספריה זו נוסיף קובץ בשם “2_deploy_contracts.js” עם התוכן הבא:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = פונקציה (פריסה) {deployer.deploy (HelloWorld)}

שמור וצא.

כדי להריץ כמהין ברשת שלנו, עלינו לערוך את ' truffle.js קובץ 'כְּמֵהָה' מַדרִיך . פתח את הקובץ והזן את הערכים הבאים:

module.exports = {rpc: {host: 'localhost', port: 8543}, רשתות: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

הערה: החלף את ה 'מ' כתובת עם כתובת החשבון שיצרת בשלב הקודם.

ביצוע חוזה חכם של Ethereum

בחלק האחרון של הדרכת החוזה החכם של Ethereum, נראה כיצד לפרוס את החוזה החכם שלנו 'Hello World' ברשת הפרטית שלנו.

עריכה ופריסה של חוזה חכם

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

לקמפל כמהין $

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

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

ואז חזור למסוף שיש בו 'כְּמֵהָה' כספריית העבודה הנוכחית ולָרוּץהפקודה הבאה:

כמהין $ נודד

המתן לסיום הפריסה.

ביצוע חוזה חכם על בלוקצ'יין אתריום פרטי

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

קונסולת כמהין $

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

> var first_contract> HelloWorld.deployed (). ואז (function (instance) {first_contract = instance})> dApp.message.call ()

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

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

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