کتاب "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونو رامینځته کول. عملي لارښود"

کتاب "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونو رامینځته کول. عملي لارښود"
د یو کال څخه ډیر وخت لپاره زه په کتاب باندې کار کوم "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونه رامینځته کول. عملي لارښود"، او اوس دا کار بشپړ شوی، او کتاب خپور شوی او په لیټرو کې شتون لري.

زه امید لرم چې زما کتاب به تاسو سره مرسته وکړي چې ژر تر ژره د سولیډیټي سمارټ اړیکې رامینځته کړي او د ایتیریم بلاکچین لپاره توزیع شوي DApps. دا د عملي کارونو سره 12 درسونه لري. د دوی په بشپړولو سره ، لوستونکی به وکولی شي خپل محلي ایتیریم نوډونه رامینځته کړي ، سمارټ قراردادونه خپاره کړي او د دوی میتودونو ته زنګ ووهي ، د ریښتیني نړۍ او سمارټ قراردادونو ترمینځ ډیټا تبادله کړي د اوریکلونو په کارولو سره ، او د رینکبي ټیسټ ډیبګ شبکې سره کار وکړي.

کتاب هرچا ته په ګوته شوی څوک چې د بلاکچین په برخه کې پرمختللي ټیکنالوژیو سره علاقه لري او غواړي ژر تر ژره پوهه ترلاسه کړي چې دوی ته به په زړه پورې او ژمن کار کې دخیل کیدو اجازه ورکړي.

لاندې به تاسو د مینځپانګو جدول او د کتاب لومړی څپرکی ومومئ (هم لیټریس د کتاب ټوټې شتون لري). زه هیله لرم چې نظرونه، نظرونه او وړاندیزونه ترلاسه کړم. زه به هڅه وکړم چې دا ټول په پام کې ونیسم کله چې د کتاب راتلونکی نسخه چمتو کړم.

فهرستپېژندنهزموږ کتاب د هغو کسانو لپاره دی چې نه یوازې د ایتیریم بلاکچین په اصولو پوهیدل غواړي ، بلکه د دې شبکې لپاره د سولیډیټي برنامې ژبه کې د توزیع شوي DApps رامینځته کولو کې عملي مهارتونه هم ترلاسه کوي.

دا غوره نه ده چې یوازې دا کتاب ولولئ، بلکې په درسونو کې بیان شوي عملي کارونه ترسره کړئ. د کار کولو لپاره، تاسو به د Debian یا Ubuntu OS نصب سره محلي کمپیوټر، مجازی یا کلاوډ سرور ته اړتیا ولرئ. تاسو کولی شئ د ډیری دندو ترسره کولو لپاره راسبیري پای هم وکاروئ.

په لومړي درس کې موږ به د ایتیریم بلاکچین عملیاتي اصولو او لومړني اصطالحاتو ته وګورو، او د دې په اړه هم وغږیږو چې دا بلاکچین چیرته کارول کیدی شي.

هدف دوهم درس - په اوبنټو او ډیبیان سرور کې پدې کورس کې د نورو کار لپاره شخصي ایتیریم بلاکچین نوډ رامینځته کړئ. موږ به د بنسټیزو اسانتیاوو د نصبولو ځانګړتیاوې وګورو، لکه ګیټ، کوم چې زموږ د بلاکچین نوډ عملیات یقیني کوي، په بیله بیا د غیر متمرکز ډیټا ذخیره ډیمون.

دریم درس تاسو ته به درس درکړي چې څنګه په ارزانه راسبیري پای مایکرو کمپیوټر کې د ایتیریم سره تجربه وکړئ. تاسو به په راسبیري پای کې د راسبیرین عملیاتي سیسټم (OS) نصب کړئ ، د ګیت یوټیلیټ چې د بلاکچین نوډ ځواک کوي ، او د سویرم غیر متمرکز ډیټا ذخیره ډیمون.

څلورم درس د Ethereum شبکې حسابونو او کریپټو کارنسي واحدونو ته وقف شوی ، په بیله بیا د ګیټ کنسول څخه د یو حساب څخه بل حساب ته د پیسو لیږدولو لارې. تاسو به زده کړئ چې څنګه حسابونه جوړ کړئ، د فنډ لیږد لیږد پیل کړئ، او د لیږد حالت او رسید ترلاسه کړئ.

په پنځم درس کې تاسو به د Ethereum شبکه کې د سمارټ قراردادونو سره آشنا شئ او د Ethereum مجازی ماشین لخوا د دوی اجرا کولو په اړه زده کړئ.

تاسو به خپل لومړی سمارټ قرارداد په ایتیروم خصوصي شبکه کې رامینځته او خپور کړئ او زده کړئ چې څنګه د هغې دندې ولیکئ. د دې کولو لپاره، تاسو به د Remix Solidity IDE وکاروئ. تاسو به دا هم زده کړئ چې څنګه د سولک بیچ کمپیلر نصب او وکاروئ.
موږ به د تش په نامه غوښتنلیک بائنری انٹرفیس (ABI) په اړه هم وغږیږو او تاسو ته به د دې کارولو څرنګوالی درښیو.

شپږم درس د جاوا سکریپټ سکریپټونو رامینځته کولو لپاره وقف شوی چې Node.js چلوي او د سولیډیټي سمارټ قراردادونو سره عملیات ترسره کوي.

تاسو به په Ubuntu، Debian او Rasberian OS کې Node.js نصب کړئ، په ایتیریم سیمه ایز شبکه کې د سمارټ قرارداد خپرولو لپاره سکریپټونه ولیکئ او د هغې دندې ولیکئ.

سربیره پردې ، تاسو به زده کړئ چې څنګه د سکریپټونو په کارولو سره د منظم حسابونو ترمینځ فنډونه لیږدئ ، او همدارنګه د سمارټ قرارداد حسابونو ته یې کریډیټ کړئ.

په اووم درس کې تاسو به زده کړئ چې څنګه د ټرفل چوکاټ نصب او وکاروئ ، د سولیډیټي سمارټ قرارداد پراختیا کونکو ترمنځ مشهور. تاسو به زده کړئ چې څنګه د جاوا سکریپټ سکریپټ رامینځته کړئ چې د ټرفل - قرارداد ماډل په کارولو سره د قرارداد افعال غږوي، او د ټرفل په کارولو سره خپل سمارټ قرارداد ازموینه وکړئ.

اتم درس د سولیډیټی ډیټا ډولونو ته وقف شوی. تاسو به سمارټ قراردادونه ولیکئ چې د ډیټا ډولونو سره کار کوي لکه لاسلیک شوي او نه لاسلیک شوي عددونه، لاسلیک شوي شمیرې، تارونه، پتې، پیچلي تغیرات، صفونه، شمیرې، جوړښتونه، او لغتونه.

په نهم درس کې تاسو به د Ethereum مینیټ لپاره د سمارټ قراردادونو رامینځته کولو ته یو ګام نږدې شئ. تاسو به زده کړئ چې څنګه د ګیت خصوصي شبکه کې د ټرفل په کارولو سره قراردادونه خپاره کړئ ، او همدارنګه په رینکیبي ټیسټ نټ کې. په اصلي شبکه کې د خپرولو دمخه د رینکبي په شبکه کې د سمارټ قرارداد ډیبګ کول خورا ګټور دي - نږدې هرڅه هلته ریښتیني دي ، مګر وړیا.

د لوست د یوې برخې په توګه، تاسو به د Rinkeby ازموینې شبکې نوډ جوړ کړئ، د فنډونو سره یې تمویل کړئ، او یو سمارټ قرارداد خپور کړئ.

درس 10 د Ethereum Swarm توزیع شوي ډیټا ذخیره کولو ته وقف شوی. د توزیع شوي ذخیره کولو په کارولو سره، تاسو په ایتیریم بلاکچین کې د لوی مقدار ډیټا ذخیره کولو کې خوندي کوئ.

په دې ټیوټوریل کې، تاسو به د محلي سویارم ذخیره جوړه کړئ، په فایلونو او فایلونو کې د لیکلو او لوستلو عملیات. بیا، تاسو به زده کړئ چې څنګه د عامه سوارم ګیټی سره کار وکړئ، د Node.js څخه Swarm ته د لاسرسي لپاره سکریپټونه ولیکئ، او همدارنګه د Perl Net::Ethereum::Swarm ماډل کارول.

د لوست موخه 11 - د مشهور Python پروګرامینګ ژبې او Web3.py چوکاټ په کارولو سره د سولیډیټي سمارټ قراردادونو سره کار کولو ماسټر. تاسو به چوکاټ نصب کړئ، د سمارټ قرارداد تالیف او خپرولو لپاره سکریپټونه ولیکئ، او د هغې دندې ولیکئ. په دې حالت کې، Web3.py به په خپل ځان او د Truffle مدغم پراختیا چاپیریال سره په ګډه وکارول شي.

په 12 درس کې تاسو به د اوریکلونو په کارولو سره د سمارټ قراردادونو او ریښتیني نړۍ ترمینځ ډیټا لیږدول زده کړئ. دا به ستاسو لپاره ګټور وي چې د ویب سایټونو، IoT وسیلو، مختلف وسیلو او سینسرونو څخه ډاټا ترلاسه کړئ، او دې وسایلو ته د سمارټ قراردادونو څخه ډاټا ولیږئ. د لوست په عملي برخه کې، تاسو به یو اوریکل او یو سمارټ قرارداد جوړ کړئ چې د روسیې د فدراسیون د مرکزي بانک له ویب پاڼې څخه د USD او روبل ترمنځ د اوسني تبادلې نرخ ترلاسه کوي.

درس 1. په لنډه توګه د بلاکچین او ایتیریم شبکې په اړهد درس موخه: د ایتیریم بلاکچین عملیاتي اصولو سره آشنا شئ ، د دې غوښتنلیک ساحې او لومړني اصطلاحات.
عملي کارونه: په دې درس کې نه دی پوښلی.

نن ورځ په سختۍ سره د سافټویر جوړونکی شتون لري چې د بلاکچین ټیکنالوژۍ (بلاکچین)، کریپټو کارنسي (کریپټو کارنسي یا کریپټو اسعارو)، بټکوین (بیټکوین)، د ابتدايي سکې وړاندیز (ICO، د ابتدايي سکې وړاندیز)، سمارټ قراردادونه (سمارټ تړون)، په اړه یې څه ندي اوریدلي. همدارنګه د بلاکچین اړوند نور مفهومونه او شرایط.

د بلاکچین ټیکنالوژي نوي بازارونه پرانیزي او د پروګرام کونکو لپاره دندې رامینځته کوي. که تاسو د کریپټو کارنسي ټیکنالوژیو او سمارټ قرارداد ټیکنالوژیو په ټولو پیچلتیاو پوهیږئ ، نو تاسو باید په عمل کې د دې پوهې پلي کولو کې ستونزې ونه لرئ.

دا باید وویل شي چې د کریپټو اسعارو او بلاکچین شاوخوا ډیری قیاس شتون لري. موږ به د کریپټو اسعارو نرخونو کې د بدلونونو په اړه بحثونه پریږدو ، د پیرامیډونو رامینځته کول ، د کریپټو اسعارو قانون پیچلتیاوې او داسې نور. زموږ په روزنیز کورس کې به موږ په عمده توګه د ایتیروم بلاکچین کې د سمارټ قراردادونو کارولو تخنیکي اړخونو تمرکز وکړو او د نامتو غیر متمرکز غوښتنلیکونو (DApps) رامینځته کول.

بلاکچین څه شی دی؟

بلاکچین (بلاک چین) د ډیټا بلاکونو سلسله ده چې یو له بل سره په یو مشخص ډول وصل شوي. د سلسلې په پیل کې لومړی بلاک شتون لري، کوم چې د ابتدايي بلاک (جینسیس بلاک) یا جینیس بلاک په نوم یادیږي. ورپسې دوهم، بیا دریم او داسې نور.

دا ټول ډیټا بلاکونه په اتوماتيک ډول د بلاکچین شبکې په ډیری نوډونو کې نقل شوي. دا د بلاکچین ډیټا غیر متمرکز ذخیره تضمینوي.
تاسو کولی شئ د بلاکچین سیسټم په اړه فکر وکړئ لکه څنګه چې ډیری نوډونه (فزیکي یا مجازی سرورونه) په شبکه کې وصل شوي او د ډیټا بلاکس سلسله کې ټول بدلونونه تکراروي. دا د یو لوی ملټي سرور کمپیوټر په څیر دی، او د داسې کمپیوټر نوډونه (سرورونه) په ټوله نړۍ کې ویشل کیدی شي. او تاسو هم کولی شئ خپل کمپیوټر د بلاکچین شبکې ته اضافه کړئ.

ویشل شوی ډیټابیس

یو بلاکچین د توزیع شوي ډیټابیس په توګه فکر کیدی شي چې د بلاکچین شبکې په ټولو نوډونو کې نقل شوی. په تیوري کې، بلاکچین به تر هغه وخته پورې فعال وي چې لږترلږه یو نوډ کار کوي، د بلاکچین ټول بلاکونه ذخیره کوي.

د توزیع شوي ډاټا راجستر

بلاکچین د ډیټا او عملیاتو (معاملاتو) توزیع شوي لیجر په توګه فکر کیدی شي. د دې ډول راجستر لپاره بل نوم لیجر دی.

ډیټا په توزیع شوي لیجر کې اضافه کیدی شي ، مګر دا نشي بدلیدلی یا حذف کیدی شي. دا ناممکنیت په ځانګړي توګه د کریپټوګرافیک الګوریتمونو په کارولو سره ترلاسه کیږي ، په زنځیر کې د بلاکونو اضافه کولو او غیر متمرکز معلوماتو ذخیره کولو لپاره ځانګړي الګوریتمونه.

کله چې د بلاکونو اضافه کول او عملیات (معاملات) ترسره کول، شخصي او عامه کیلي کارول کیږي. دوی د بلاکچین کاروونکو ته یوازې د دوی خپلو بلاکونو ډیټا ته د لاسرسي په ورکولو سره محدودوي.

معاملې

Blockchain په بلاکونو کې د عملیاتو (معاملاتو) په اړه معلومات ذخیره کوي. په ورته وخت کې، زاړه، دمخه بشپړ شوي لیږدونه بیرته راګرځیدلی یا بدلیدلی نشي. نوي لیږدونه په نوي، اضافه شوي بلاکونو کې زیرمه شوي.

په دې توګه، د لیږد ټوله تاریخ په بلاکچین کې بې بدله ثبت کیدی شي. نو ځکه، بلاکچین کارول کیدی شي، د بیلګې په توګه، په خوندي توګه د بانکي معاملو ذخیره کول، د کاپي حق معلومات، د ملکیت مالکینو کې د بدلون تاریخ، او نور.

د ایتیریم بلاکچین په نوم د سیسټم ریاستونه لري. لکه څنګه چې معاملې اجرا کیږي، دولت له لومړني حالت څخه اوسني حالت ته بدلیږي. لیږدونه په بلاکونو کې ثبت شوي.

عامه او خصوصي بلاکچینونه

دلته باید یادونه وشي چې هرڅه ویل شوي یوازې د تش په نامه عامه بلاکچین شبکو لپاره ریښتیا دي ، کوم چې د هیڅ فرد یا قانوني ادارې ، دولتي ادارې یا حکومت لخوا نشي کنټرول کیدی.
تش په نامه شخصي بلاکچین شبکې د دوی د جوړونکو بشپړ کنټرول لاندې دي، او هلته هرڅه ممکن دي، د بیلګې په توګه، د زنځیر د ټولو بلاکونو بشپړ بدیل.

د بلاکچین عملي غوښتنلیکونه

بلاکچین د څه لپاره ګټور کیدی شي؟

په لنډه توګه، بلاکچین تاسو ته اجازه درکوي په خوندي ډول د خلکو یا شرکتونو ترمنځ لیږد (معاملې) ترسره کړئ چې یو بل باور نلري. په بلاکچین کې ثبت شوي معلومات (معاملې، شخصي معلومات، اسناد، سندونه، قراردادونه، رسیدونه، او نور) نشي کولی د ثبت کولو وروسته جعلي یا بدل شي. له همدې امله ، د بلاکچین پراساس ، دا امکان لري چې رامینځته شي ، د مثال په توګه ، د مختلف ډول اسنادو باوري توزیع شوي راجسټرې.

البته، تاسو پوهیږئ چې د کریپټو کارنسي سیسټمونه د بلاکچین پر بنسټ رامینځته کیږي، د عادي کاغذ پیسو بدلولو لپاره ډیزاین شوي. د کاغذ پیسو ته د فایټ (د فایټ پیسو څخه) هم ویل کیږي.
بلاکچین په بلاکونو کې د ثبت شوي لیږدونو ذخیره او تغیر تضمینوي ، له همدې امله دا د کریپټو کارنسي سیسټمونو رامینځته کولو لپاره کارول کیدی شي. دا د مختلف کاروونکو (حسابونو) ترمینځ د کریپټو فنډونو لیږد بشپړ تاریخ لري ، او هر ډول عملیات تعقیب کیدی شي.

که څه هم د کریپټو کارنسي سیسټمونو کې لیږدونه نامعلوم کیدی شي، د کریپټو کارنسي ایستل او د فایټ پیسو لپاره یې تبادله کول معمولا د کریپټو کارنسي شتمنۍ د مالک د هویت څرګندیدو لامل کیږي.

په نوم یاد شوي سمارټ قراردادونه، کوم چې د ایتیروم په شبکه کې سافټویر چلوي، تاسو ته اجازه درکوي چې د لیږد پای ته رسولو پروسه اتومات کړئ او د دوی پلي کولو څارنه وکړئ. دا په ځانګړې توګه اغیزمن دی که چیرې د لیږد لپاره تادیه د ایتر کریپټو کارنسي په کارولو سره ترسره شي.

د Ethereum blockchain او Ethereum سمارټ قراردادونه چې د سولیډیټي پروګرام کولو ژبه کې لیکل شوي کارول کیدی شي، د بیلګې په توګه، په لاندې برخو کې:

  • د اسنادو د notarization بدیل؛
  • د املاکو شیانو د راجستر ذخیره کول او د املاکو شیانو سره د معاملو په اړه معلومات؛
  • د فکري ملکیت په اړه د کاپي حق معلوماتو ذخیره کول (کتابونه، انځورونه، موسیقي کارونه، او نور)؛
  • د رای ورکولو د خپلواک سیستم رامنځته کول؛
  • مالي او بانکداري؛
  • په نړیواله کچه لوژستیک، د توکو حرکت تعقیب؛
  • د شخصي معلوماتو ذخیره کول د شناخت کارت سیسټم ته د انلاګ په توګه؛
  • په سوداګریز ډګر کې خوندي لیږد؛
  • د طبي معایناتو پایلې ذخیره کول، او همدارنګه د ټاکل شوي پروسیجرونو تاریخ

د بلاکچین سره ستونزې

مګر، البته، هرڅه دومره ساده ندي لکه څنګه چې ښکاري!

بلاکچین ته د اضافه کولو دمخه د معلوماتو تصدیق کولو کې ستونزې شتون لري (د مثال په توګه ، ایا دوی جعلي دي؟) ، د سیسټم امنیت او غوښتنلیک سافټویر سره ستونزې چې د بلاکچین سره کار کولو لپاره کارول کیږي ، د لاسرسي غلا کولو لپاره د ټولنیز انجینري میتودونو کارولو احتمال سره ستونزې. د cryptocurrency wallets، etc. .P.

یوځل بیا ، که موږ د عامه بلاکچین په اړه وغږیږو ، نوډونه چې په ټوله نړۍ کې خپاره شوي ، مګر د شخصي بلاکچین په اړه چې د یو شخص یا سازمان پورې اړه لري ، نو دلته به د باور کچه د باور له کچې څخه لوړه نه وي. په دې شخص یا دې سازمان کې.

دا هم باید په پام کې ونیول شي چې په بلاکچین کې ثبت شوي معلومات د هرچا لپاره شتون لري. پدې معنی ، بلاکچین (په ځانګړي توګه عامه) د محرم معلوماتو ذخیره کولو لپاره مناسب ندي. په هرصورت، دا حقیقت چې د بلاکچین په اړه معلومات نشي بدلیدلی کولی شي د مختلف ډوله درغلۍ فعالیتونو مخه ونیسي یا تحقیق وکړي.

د ایتیریم غیر متمرکز غوښتنلیکونه به اسانه وي که تاسو د کریپټو کارنسي سره د دوی کارولو لپاره تادیه وکړئ. هرڅومره ډیر خلک چې د کریپټو اسعارو مالکیت لري یا د دې پیرودلو ته لیواله دي ، خورا مشهور DApps او سمارټ قراردادونه به شي.

د بلاکچین سره عامې ستونزې چې د دې عملي غوښتنلیک خنډ کوي محدود سرعت پکې شامل دي چې نوي بلاکونه پکې اضافه کیدی شي او د لیږد نسبتا لوړ لګښت. خو په دې برخه کې ټیکنالوژي په فعاله توګه وده کوي، او داسې هیلې شته چې تخنیکي ستونزې به د وخت په تیریدو سره حل شي.

بله ستونزه دا ده چې په ایتیریم بلاکچین کې سمارټ قراردادونه د مجازی ماشینونو په جلا چاپیریال کې کار کوي، او د ریښتینې نړۍ معلوماتو ته لاسرسی نلري. په ځانګړې توګه، د سمارټ قرارداد برنامه نشي کولی پخپله د سایټونو یا کوم فزیکي وسایلو (سینسرونو، اړیکو، او نور) څخه ډاټا ولولي، او همدارنګه نشي کولی کوم بهرني وسایلو ته ډاټا تولید کړي. موږ به د دې ستونزې او د حل کولو لارو په اړه بحث وکړو چې په هغه درس کې چې نومول شوي اوریکلز ته وقف شوي - د سمارټ قراردادونو د معلوماتو منځګړیتوب.

قانوني محدودیتونه هم شتون لري. په ځینو هیوادونو کې، د بیلګې په توګه، د پیسو د یوې وسیلې په توګه د کریپټو کارنسي کارول منع دي، مګر تاسو کولی شئ دا د یو ډول ډیجیټل شتمنۍ په توګه ولرئ، لکه د تضمیناتو. دا ډول شتمنۍ په تبادله کې اخیستل کیدی شي او پلورل کیدی شي. په هر حالت کې ، کله چې یوه پروژه رامینځته کړئ چې د کریپټو اسعارو سره کار کوي ، تاسو اړتیا لرئ خپل ځان د هغه هیواد قانون سره آشنا کړئ چې ستاسو د پروژې واک لاندې راځي.

د بلاکچین سلسله څنګه رامینځته کیږي

لکه څنګه چې موږ مخکې وویل، بلاکچین د ډیټا بلاکونو ساده سلسله ده. لومړی، د دې سلسلې لومړی بلاک جوړیږي، بیا دویم په هغې کې اضافه کیږي، او داسې نور. د راکړې ورکړې معلومات په بلاکونو کې زیرمه شوي، او په وروستي بلاک کې اضافه شوي.

په انځور کې. 1.1 موږ د بلاکونو د سلسلې ترټولو ساده نسخه وښودله، چیرې چې لومړی بلاک بل بل ته اشاره کوي.

کتاب "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونو رامینځته کول. عملي لارښود"
وريجې. ۱.۱. د بلاکونو ساده ترتیب

په هرصورت، د دې اختیار سره، په زنځیر کې د هر بلاک منځپانګې سره لاسوهنه کول خورا اسانه دي، ځکه چې بلاکونه د بدلونونو په وړاندې د ساتنې لپاره هیڅ معلومات نلري. د دې په پام کې نیولو سره چې بلاکچین د خلکو او شرکتونو لخوا کارول کیږي چې تر منځ یې باور شتون نلري، موږ کولی شو دې پایلې ته ورسیږو چې د معلوماتو ذخیره کولو دا طریقه د بلاکچین لپاره مناسبه نه ده.

راځئ چې د جعل کولو څخه د بلاکونو ساتنه پیل کړو. په لومړي پړاو کې، موږ به هڅه وکړو چې هر بلاک د چکسم سره خوندي کړو (1.2 شکل).

کتاب "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونو رامینځته کول. عملي لارښود"
وريجې. 1.2. د چیکسم سره د دې بلاکونو لپاره محافظت اضافه کول

اوس برید کوونکی نشي کولی په ساده ډول بلاک بدل کړي ، ځکه چې پدې کې د بلاک ډیټا چیکسم شتون لري. د چکسم چک کول به وښیې چې ډاټا بدله شوې.

د چکسم محاسبه کولو لپاره، تاسو کولی شئ د هش کولو له کارونو څخه یو وکاروئ لکه MD-5، SHA-1، SHA-256، او داسې نور. د هش فنکشنونه د ډیټا په بلاک کې د نه بدلیدونکي عملیاتو په ترسره کولو سره ارزښت محاسبه کوي (د مثال په توګه د ثابت اوږدوالي متن تار). عملیات د هش فعالیت ډول پورې اړه لري.

حتی که د ډیټا بلاک مینځپانګې لږ څه بدل شي ، د هش ارزښت به هم بدل شي. د هش فنکشن ارزښت تحلیل کولو سره ، د ډیټا بلاک بیا رغول ناممکن دي د کوم لپاره چې دا محاسبه شوي.

ایا دا ډول محافظت به کافي وي؟ له بده مرغه نه.

پدې سکیم کې، چیکسم (هیش فنکشن) یوازې د انفرادي بلاکونو ساتنه کوي، مګر ټول بلاکچین نه. د هش فنکشن محاسبه کولو لپاره د الګوریتم پوهیدل، برید کونکی کولی شي په اسانۍ سره د بلاک مینځپانګې ځای په ځای کړي. همچنان ، هیڅ شی به هغه د زنځیر څخه د بلاکونو لرې کولو یا نوي اضافه کولو مخه ونه نیسي.

د ټول سلسلې په ټولیزه توګه د ساتنې لپاره، تاسو کولی شئ په هر بلاک کې د ډیټا سره یوځای، د مخکیني بلاک څخه د معلوماتو یو هش (شکل 1.3).

کتاب "د ایتیریم بلاکچین لپاره د پیوستون سمارټ قراردادونو رامینځته کول. عملي لارښود"
وريجې. 1.3. د پخواني بلاک هش د ډیټا بلاک ته اضافه کړئ

په دې سکیم کې، د بلاک بدلولو لپاره، تاسو اړتیا لرئ چې د ټولو راتلونکو بلاکونو د هش افعال بیا حساب کړئ. داسې ښکاري چې ستونزه څه ده؟

په ریښتیني بلاکچینونو کې ، مصنوعي ستونزې د نوي بلاکونو اضافه کولو لپاره هم رامینځته کیږي — الګوریتمونه چې ډیری کمپیوټري سرچینو ته اړتیا لري کارول کیږي. د دې په پام کې نیولو سره چې په بلاک کې د بدلونونو لپاره، تاسو اړتیا لرئ چې نه یوازې دا یو بلاک بیا محاسبه کړئ، مګر ټول راتلونکی، دا به خورا ستونزمن وي.

راځئ چې دا هم په یاد ولرو چې د بلاکچین ډیټا په ډیری شبکې نوډونو کې ساتل کیږي (نقل شوي) ، د بیلګې په توګه. غیر متمرکز ذخیره کارول کیږي. او دا د بلاک جعلي کول خورا ستونزمن کوي، ځکه چې بدلونونه باید د شبکې په ټولو نوډونو کې ترسره شي.

څرنګه چې بلاکونه د مخکیني بلاک په اړه معلومات ذخیره کوي، نو دا ممکنه ده چې په زنځیر کې د ټولو بلاکونو مینځپانګې وګورئ.

ایتیریم بلاکچین

د ایتیریم بلاکچین یو پلیټ فارم دی چې پکې توزیع شوي DApps رامینځته کیدی شي. د نورو پلیټ فارمونو برخلاف ، ایتیریم د نامتو سمارټ قراردادونو (سمارټ قراردادونو) کارولو ته اجازه ورکوي ، چې د سولیډیټي برنامه کولو ژبه کې لیکل شوي.

دا پلیټ فارم په 2013 کې د ویتالیک بټرین لخوا رامینځته شوی ، د Bitcoin مجلې بنسټ ایښودونکی ، او په 2015 کې پیل شوی. هرڅه چې موږ به زموږ په روزنیز کورس کې مطالعه یا ترسره کړو په ځانګړي ډول د ایتیریم بلاکچین او سولیډیټي سمارټ قراردادونو پورې اړه لري.

کان کیندنه یا څنګه بلاکونه رامینځته کیږي

کان کیندنه د بلاکچین زنځیر ته د نوي بلاکونو اضافه کولو خورا پیچلې او د سرچینو پراخه پروسه ده ، او په هیڅ ډول د "کریپټو کرنسی کان کیندنې" ندي. کان کیندنه د بلاکچین فعالیت تضمینوي، ځکه دا دا پروسه ده چې د ایتیریم بلاکچین ته د معاملو اضافه کولو مسؤلیت لري.

هغه خلک او سازمانونه چې د بلاکونو په اضافه کولو کې ښکیل دي د کانونو په نوم یادیږي.
هغه سافټویر چې په ماینر نوډونو کې روان دی هڅه کوي د وروستي بلاک لپاره د نونس په نوم د هش کولو پیرامیټر ومومي ترڅو د شبکې لخوا مشخص شوي ځانګړي هش ارزښت ترلاسه کړي. په ایتیریم کې کارول شوي د ایتاش هیشینګ الګوریتم تاسو ته اجازه درکوي یوازې د ترتیب شوي لټون له لارې د نونس ارزښت ترلاسه کړئ.

که د ماینر نوډ صحیح Nonce ارزښت ومومي، نو دا د کار تش په نامه ثبوت دی (PoW، Proof-of-work). په دې حالت کې، که یو بلاک د ایتیروم شبکې ته اضافه شي، کان کیندونکي د شبکې په اسعارو کې یو ټاکلی انعام ترلاسه کوي - ایتر. د لیکلو په وخت کې، انعام 5 ایتر دی، مګر دا به د وخت په تیریدو سره کم شي.

په دې توګه، د ایتیروم کان کیندونکي د بلاکونو په اضافه کولو سره د شبکې عملیات ډاډمن کوي، او د دې لپاره د کریپټو کارنسي پیسې ترلاسه کوي. په انټرنیټ کې د کانونو او کان کیندنې په اړه ډیر معلومات شتون لري، مګر موږ به د Ethereum شبکې کې د سولیډیټی قراردادونو او DApps په جوړولو تمرکز وکړو.

د درس لنډیز

په لومړي درس کې، تاسو د بلاکچین سره آشنا شوئ او پوه شوئ چې دا د بلاکس یو ځانګړی ترتیب دی. د مخکیني ثبت شوي بلاکونو مینځپانګې نشي بدلیدلی ، ځکه چې دا به په ډیری شبکې نوډونو کې د ټولو راتلونکو بلاکونو بیا حساب کولو ته اړتیا ولري ، کوم چې ډیری سرچینې او وخت ته اړتیا لري.

بلاکچین د معاملو پایلې ذخیره کولو لپاره کارول کیدی شي. د دې اصلي موخه د ګوندونو (شخصو او سازمانونو) تر منځ د خوندي معاملو تنظیم کول دي چې تر منځ یې باور شتون نلري. تاسو زده کړل چې د سوداګرۍ په کومو برخو کې او په کومو برخو کې د ایتیریم بلاکچین او سولیډیټي سمارټ قراردادونه کارول کیدی شي. دا د بانکدارۍ سکتور دی، د ملکیت د حقونو ثبت کول، اسناد، او نور.

تاسو دا هم زده کړل چې د بلاکچین کارولو په وخت کې بیلابیل ستونزې رامینځته کیدی شي. دا په بلاکچین کې د اضافه شوي معلوماتو تصدیق کولو ستونزې دي ، د بلاکچین سرعت ، د لیږد لګښت ، د سمارټ قراردادونو او ریښتینې نړۍ ترمینځ د معلوماتو تبادلې ستونزه ، او همدارنګه د برید کونکو لخوا احتمالي بریدونه چې هدف یې د کارونکي حسابونو څخه د کریپټو کرنسی فنډونو غلا کول دي. .

موږ د بلاکچین ته د نوي بلاکونو اضافه کولو پروسې په توګه د کان کیندنې په اړه هم په لنډ ډول خبرې وکړې. د راکړې ورکړې بشپړولو لپاره کان کیندنه اړینه ده. هغه کسان چې په کانونو کې ښکیل دي د بلاکچین فعالیت ډاډمن کوي ​​او د دې لپاره په کریپټو کارنسي کې انعام ترلاسه کوي.

درس 2. په اوبنټو او ډیبیان OS کې د کاري چاپیریال چمتو کولد عملیاتي سیسټم غوره کول
د اړینو اسانتیاوو نصب کول
په اوبنټو کې د ګیت او سوارم نصب کول
په ډیبیان کې د ګیت او سوارم نصب کول
لومړني چمتوالی
د ګو توزیع ډاونلوډ کول
د چاپیریال تغیرات تنظیم کول
د Go نسخه چک کول
د Geth او Swarm نصب کول
د شخصي بلاکچین رامینځته کول
د genesis.json فایل چمتو کول
د کار لپاره لارښود جوړ کړئ
ګڼون پرانیستل
د نوډ ابتکار پیل کول
د نوډ لانچ اختیارونه
زموږ نوډ سره وصل شئ
د کانونو مدیریت او توازن چیک کول
د ګیت کنسول بندول
د درس لنډیز

درس 3. په Raspberry Pi 3 کې د کاري چاپیریال چمتو کولد کار لپاره د Raspberry Pi 3 چمتو کول
د راسبیرین نصب کول
د تازه معلوماتو نصب کول
د SSH لاسرسي فعالول
د جامد IP پته تنظیم کول
د اړینو اسانتیاوو نصب کول
د Go نصب کول
د ګو توزیع ډاونلوډ کول
د چاپیریال تغیرات تنظیم کول
د Go نسخه چک کول
د Geth او Swarm نصب کول
د شخصي بلاکچین رامینځته کول
ستاسو حساب او بیلانس چیک کول
د درس لنډیز

4 لوست. حسابونه او د حسابونو ترمنځ د پیسو لیږدحسابونه وګورئ او اضافه کړئ
د حسابونو لیست وګورئ
د حساب اضافه کول
د geth حساب کمانډ اختیارونه
د حساب شفرونه
په Ethereum کې کریپټوکرنسی
د Ethereum اسعارو واحدونه
موږ د خپلو حسابونو اوسنی بیلانس ټاکو
له یو حساب څخه بل حساب ته فنډونه لیږدول
eth.send د لیږد طریقه
د راکړې ورکړې حالت وګورئ
د راکړې ورکړې رسید
د درس لنډیز

5 درس. ستاسو لومړی قرارداد خپرولپه Ethereum کې سمارټ قراردادونه
د سمارټ قرارداد اجرا کول
د Ethereum مجازی ماشین
مدغم پرمختیایی چاپیریال ریمکس سولیډیټی IDE
د تالیف چلول
د قراردادي دندو غږول
په خصوصي شبکه کې د قرارداد خپرول
موږ د ABI تعریف او د تړون بائنری کوډ ترلاسه کوو
د تړون خپرول
د قرارداد خپرول د لیږد حالت چیک کول
د قراردادي دندو غږول
د بیچ کمپیلر سولک
په اوبنټو کې د سولک نصب کول
په دیبیان کې د سولک نصب کول
د هیلو سول قرارداد تالیف کول
د تړون خپرول
په راسبیرین کې د سولک نصب کول
د درس لنډیز

شپږم لوست. سمارټ قراردادونه او Node.jsد Node.js نصب کول
په اوبنټو کې نصب کول
په Debian کې نصب کول
د Ganache-cli نصب او چلول
د ویب 3 نصب کول
د سولک نصب کول
په Rasberian کې د Node.js نصب کول
په کنسول کې د حسابونو لیست ترلاسه کولو لپاره سکریپټ
د سمارټ قرارداد خپرولو لپاره سکریپټ
د پیرامیټونو پیل کول او ترلاسه کول
د لانچ اختیارونه ترلاسه کول
د تړون تالیف
ستاسو حساب خلاصول
د ABI او قرارداد بائنری کوډ بار کول
د اړتیا وړ ګاز اندازه اټکل کول
یو اعتراض جوړ کړئ او د تړون خپرول پیل کړئ
د قرارداد خپرولو سکریپټ چلول
د سمارټ قرارداد د دندو غږول
ایا دا ممکنه ده چې یو خپور شوی سمارټ قرارداد تازه کړئ؟
د Web3 نسخه 1.0.x سره کار کول
د حسابونو لیست ترلاسه کول
د تړون خپرول
د قراردادي دندو غږول
له یو حساب څخه بل حساب ته فنډونه لیږدول
د قرارداد حساب ته فنډونه لیږدول
د HelloSol سمارټ قرارداد تازه کول
د خپل حساب بیلانس لیدو لپاره سکریپټ جوړ کړئ
د call_contract_get_promise.js سکریپټ ته د getBalance فنکشن ته زنګ اضافه کړئ
موږ د سمارټ قرارداد حساب پورته کوو
د درس لنډیز

7 لوست. د ټرفل پیژندنهد Truffle نصب کول
د هیلو سول پروژه جوړه کړئ
د پروژې لارښود او فایلونو رامینځته کول
د تړونونو لارښود
د مهاجرت کتلاګ
لارښود ازموینه
truffle-config.js فایل
د هیلو سول قرارداد تالیف کول
د تړون خپرول پیل کړئ
په ټرفل پرامپټ کې د هیلو سول قرارداد فنکشن ته زنګ وهل
د جاواسکریپټ سکریپټ څخه د Node.js چلولو څخه د هیلو سول قرارداد کار کول
د ټرفل قرارداد ماډل نصب کول
د قرارداد افعال getValue او getString ته زنګ وهل
د قرارداد د فنکشن زنګ کول setValue او setString
د قرارداد تعدیل او بیا خپرول
د Web3 نسخه 1.0.x سره کار کول
د هیلو سول سمارټ قرارداد کې بدلونونه کول
د قرارداد کولو میتودونو لپاره سکریپټونه
په Truffle کې ازموینه
د پیوستون ازموینه
جاواسکریپټ ازموینه
د درس لنډیز

8 لوست. د پیوستون ډیټا ډولونهد ډیټا ډولونو زده کړې تړون
د بولین ډیټا ډولونه
نه لاسلیک شوي عددونه او لاسلیک شوي عددونه
د ثابت ټکي شمیرې
پته
د پیچلو ډولونو متغیر
د ثابت اندازې سرې
متحرک صفونه
لیږد
جوړښتونه
د لغتونو نقشه کول
د درس لنډیز

9 درس. خصوصي شبکې او رینکیبي شبکې ته د قراردادونو مهاجرتد ټرفل څخه خصوصي ګیت شبکې ته د تړون خپرول
د خصوصي شبکې نوډ چمتو کول
د کار لپاره د قرارداد چمتو کول
د ټرفل شبکې ته د تړون تالیف او مهاجرت
د محلي شبکې مهاجرت پیل کول
د ټرفل هنري اثار ترلاسه کول
له ټرفل څخه رینکبي ټیسټ نیټ ته د تړون خپرول
د رینکبي سره کار کولو لپاره د ګیت نوډ چمتو کول
نوډ همغږي کول
د حسابونو اضافه کول
ستاسو د Rinkeby حساب د ایتر سره پورته کول
د رینکبي شبکې ته د مهاجرت تړون پیل کول
په رینکبي شبکه کې د تړون معلومات لیدل
د رینکبي شبکې لپاره ټرفل کنسول
د قرارداد د کارونو د زنګ وهلو اسانه لار
د Node.js په کارولو سره د قرارداد میتودونو غږ کول
د رینکبي لپاره په ټرفل کنسول کې د حسابونو ترمینځ فنډونه لیږدول
د درس لنډیز

درس 10. د ایتیریم سوارم غیر متمرکز ډیټا ذخیره کولEthereum Swarm څنګه کار کوي؟
د سوارم نصب او پیل کول
د فایلونو او لارښودونو سره عملیات
د ایتیریم سوارم ته د فایل اپلوډ کول
د Ethereum Swarm څخه د فایل لوستل
د اپلوډ شوي فایل څرګندونه وګورئ
د فرعي لارښودونو سره لارښودونه بار کول
د ډاونلوډ شوي لارښود څخه د فایل لوستل
د عامه سوارم دروازې کارول
د Node.js سکریپټونو څخه سوارم ته لاسرسی
پرل نیټ::ایتیریم::سوارم ماډل
د جال نصب کول::Ethereum::Swarm ماډل
د معلوماتو لیکل او لوستل
د درس لنډیز

11 لوست. په Python کې د Ethereum سره کار کولو لپاره د Web3.py چوکاټد Web3.py نصب کول
د اړینو کڅوړو تازه کول او نصب کول
د ایزسولک ماډل نصب کول
د Web3.py په کارولو سره د تړون خپرول
د تړون تالیف
د برابرونکي سره نښلول
د قرارداد خپرول اجرا کول
د قرارداد پته او ابی په فایل کې خوندي کول
د قرارداد خپرولو سکریپټ چلول
د قرارداد کولو طریقه
د JSON فایل څخه د تړون پته او ابي لوستل
د برابرونکي سره نښلول
د تړون څیز جوړول
د قرارداد کولو طریقه
Truffle او Web3.py
د درس لنډیز

12 لوست. اوریکلزایا یو سمارټ قرارداد کولی شي د بهرنۍ نړۍ څخه ډاټا باور وکړي؟
اوریکلز د بلاکچین معلوماتو منځګړیو په توګه
د معلوماتو سرچینه
کوډ د سرچینې څخه د معلوماتو استازیتوب کولو لپاره
په بلاکچین کې د تبادلې نرخ ثبتولو لپاره اوریکل
د USDRateOracle تړون
په سمارټ قرارداد کې د تبادلې نرخ تازه کول
د ویب ساکټ چمتو کونکي کارول
د RateUpdate پیښې ته انتظار کول
د RateUpdate پیښې اداره کول
په سمارټ قرارداد کې د معلوماتو تازه کولو پیل کول
د درس لنډیز

سرچینه: www.habr.com

Add a comment