آموزش پارچه هایپرلجر: راهنمای شروع کار

خوش آمدید به آموزش پارچه هایپرلجر.

در این آموزش ، ما می آموزیم که اگر یکی از توسعه دهندگانی هستید که سرمایه گذاری عمیقی در بلاکچین می کنید و می خواهید با Hyperledger Fabric شروع به کار کنید ، می توانید اولین برنامه Hyperledger و سایر موارد مهم خود را ایجاد کنید..

هر چارچوب درجه سازمانی برای کار کردن نیاز به تخصص دارد. اگر تازه کار باشید ، می بینید که برای رفع مشکلات کوچک بسیار تلاش می کنید. به همین دلیل مهم است که زود شروع کنید و به روش خود تمرین کنید.

اما چرا پارچه هایپرلجر و هیچ کدام چارچوب بلاکچین سازمانی دیگر?

دلیل این امر این است که Hyperledger Fabric یک چارچوب درجه یک بلاکچین سازمانی است که فناوری عالی دفتر معاملات توزیع شده (DLT) عالی را ارائه می دهد. این دارای برخی از ویژگی های عالی است که آن را به یک گزینه ایده آل برای یک شرکت تبدیل می کند.

با بررسی اعضای آن ، متشکل از CISCO ، IBM ، Intel ، SAP ، Accenture و دیگران ، می توانید میزان محبوبیت آن را بسنجید..

پارچه هایپرلجر چیست?

Hyperledger Fabric یک چارچوب منبع باز با درجه سازمانی است. برای ارائه برنامه ها و راه حل های بسیار مورد نیاز ، به فناوری دفتر توزیع شده مجاز متکی است. بنیاد لینوکس در حال کار بر روی تعداد متنوعی از پروژه ها است و Hyperledger Fabric یکی از آنها است.

از آنجا که منبع باز است ، هرکسی می تواند به پروژه بپیوندد و در آن مشارکت کند. در حال حاضر ، 35 سازمان با هم همکاری می کنند تا Hyperledger Fabric بهترین چارچوب سازمانی موجود در آن باشد.

در هسته ، Hyperledger Fabric قابل تنظیم و مدولار است. این بدان معنی است که شرکت ها می توانند با استفاده از چارچوب به صورت یکپارچه کار کنند. همه این ویژگی های مطلوب ، پارچه هایپرلجر را به گزینه ای عالی تبدیل کرده است! در زمان نوشتن مقاله ، می توانید Hyperledger Fabric v1.4 را امتحان کنید که دارای ویژگی ها و ویژگی های جدید است.

ویژگی های پارچه هایپرلجر

Hyperledger Fabric با پنج ویژگی اصلی ارائه می شود. آنها به شرح زیر است

  • مدیریت هویت: مدیریت هویت برای هر شبکه مجاز بسیار مهم است. به همین دلیل مدیریت هویت یکی از ویژگیهای اساسی در ساختار Hyperledger است. با دادن مدیر برای تنظیم مدیریت هویت مناسب ، شرکت ها می توانند اطمینان حاصل کنند که از چندین لایه مجوز استفاده می کنند.
  • پردازش کارآمد: پارچه هایپرلجر کارآمد است. دلیل این امر این است که نقش های شبکه به عنوان نوع گره تعیین می شوند. همچنین با اجازه دادن به اجرای معامله جدا از تعهد و سفارش ، کارایی نیز فراهم می شود.
  • طراحی مدولار:Hyperledger Fabric از طراحی مدولار استفاده می کند ، به این معنی که ادغام سرویس ها یا سیستم های دیگر در آن آسان است. این همچنین بدان معنی است که شما می توانید الگوریتم اجماع ، هویت و غیره را تعیین کنید.
  • حریم خصوصی و رازداری:Hyperledger Fabric همچنین رازداری و رازداری مناسب را ارائه می دهد که برای شرکت ها بسیار مهم است. آنها کانال های داده مناسب را ارائه می دهند تا اطلاعات نشت نکند و محرمانه بودن به هر قیمتی حفظ شود.
  • قابلیت Chaincode:Hyperledger Fabric قابلیت chaincode را ارائه می دهد ، که فقط در صورت فراخوانی نوع خاصی از معامله ، منطق را می توان فراخوانی کرد..

از دیگر ویژگی های اصلی پارچه هایپرلجر می توان به کد کیفیت ، منبع باز ، مقیاس پذیری و کارایی عالی و کاربرد در صنعت اشاره کرد..


آموزش پارچه هایپرلجر

قبل از شروع توسعه یک برنامه ، بهتر است معماری سیستم Hyperledger Fabric را درک کنید. با این کار می توان نحوه عملکرد داخلی آن را فهمید. از این دانش می توان برای توسعه اولین برنامه Hyperledger Fabric استفاده کرد.

معماری سیستم

در هسته ، ما گره داریم. گره ها با یکدیگر ارتباط برقرار می کنند و شبکه می سازند. با این حال ، برنامه هایی وجود دارند که توسط خود بلاکچین اجرا می شوند. آنها رمزگذار هستند. Chaincode مسئول نگهداری اطلاعات دفتر و وضعیت است و همچنین از انجام معامله مراقبت می کند.

در Hyperledger Fabric ، chaincode بیشترین تأکید را دارد زیرا معاملات بر روی آن به عنوان عملیات انجام می شود. از طرف دیگر ، معاملات باید با تأیید تأیید شوند. فقط معاملات تایید شده قابل انجام است.

معاملات

معاملات موجود در پارچه هایپرلجر می تواند دو نوع باشد:

  • استقرار معاملات: این نوع معاملات وظیفه ایجاد کد جدید با پارامتر به عنوان یک برنامه را دارند. پس از اتمام ، گفته می شود که chaincode روی بلاکچین “نصب” می شود.
  • تراکنش های فراخوانی: تراکنش های فراخوانی معامله هایی هستند که با توجه به استقرار قبلی کدگذاری کد انجام می شوند.

ساختارهای داده Blockchain

ساختار اصلی داده های مورد استفاده در زنجیره بلوک ذخیره ارزش کلیدی (KVS) است. کلیدها بیشتر نام هستند و مقدار آنها حباب است. Chaincodes می تواند ساختار داده را با کمک دو عملکرد KVS زیر دستکاری کند.

  • قرار دادن
  • گرفتن

کل ساختار داده به عنوان یک حالت دیده می شود.

دفتر کل

Ledger توالی تغییرات حالت موفقیت آمیز و تلاش های ناموفق است. آنها سفارش داده می شوند تا بعداً بتوان به آنها مراجعه کرد. همچنین ، به آنها بلوک های معاملاتی hashchain سفارش داده می شود. دفتر شامل بلوک هایی به ترتیب است که در عوض شامل آرایه معاملاتی مرتب شده است.

گره ها

گره ها می توانند هر موجود ارتباطی درون شبکه باشند.

مشتری

مشتری شخصی است که می تواند از طرف کاربران نهایی عمل کند.

همتا

Peer وضعیت دفتر را اداره می کند و عملکرد بهینه شبکه را تضمین می کند. همتایان می توانند همتایان خود را تأیید کنند ، که به تایید یک معامله کمک می کند.

نوشتن اولین برنامه پارچه هایپرلجر

اکنون که ساختار معماری Hyperledger Fabric را درک کردیم ، اکنون زمان ایجاد اولین برنامه کاربردی شما فرا رسیده است. با مرور برنامه می توانید نحوه کارکرد برنامه های Fabric را درک کنید. در این آموزش ، شما می آموزید که چگونه از قراردادهای ساده ، هوشمند و برنامه های دیگر در چارچوب استفاده کنید.

برای سهولت توسعه ما ، از برنامه SDK برای ارجاع آسان به کلید استفاده خواهیم کرد

توابع ، از جمله فراخوانی قراردادهای هوشمند و سایر سeriesالات.

سه مرحله اصلی که باید هنگام توسعه برنامه پارچه Hyperledger خود دنبال کنید شامل موارد زیر است:

  1. محیط توسعه را تنظیم کنید. محیط توسعه شبکه لازم را برای کار با برنامه شما فراهم می کند. این توانایی را به شما می دهد که قرارداد هوشمند خود را نیز کار کنید.
  2. یادگیری درباره نمونه قراردادهای هوشمند. در اینجا ، شما باید قرارداد هوشمند را طی کنید و معاملات آن را درک کنید. ما کوئری ها را به صورت شبیه سازی شده توسط برنامه ها اجرا می کنیم و همچنین دفتر را با استفاده از آن به روز می کنیم.
  3. در حال توسعه یک برنامه کاربردی نمونه: در آخرین مرحله ، با استفاده از قرارداد هوشمند یک نمونه برنامه ایجاد خواهید کرد.

ساخت اولین شبکه

قبل از شروع برنامه ، بیایید اولین شبکه خود را بسازیم. برای شروع ، باید برخی پیش نیازها را نصب کنیم. این پیش نیازها اطمینان حاصل می کنند که همه چیز طبق برنامه پیش می رود.

راهنمای نصب پیش نیاز آنها را بررسی کنید اینجا.

همچنین به Hyperledger Composer: Blockchain Enterprise خود بسازید

ممکن است بخواهید باینری ها ، نمونه ها و تصاویر docker را نصب کنید. راهنمای نصب را بررسی کنید اینجا.

پس از نصب نمونه ها ، نمونه های پارچه ای موجود در آن را پیدا خواهید کرد. باید در مخزن “پارچه-نمونه ها” موجود باشد. در مخزن ، نمونه شبکه اول وجود دارد.

برای انتقال به آن فهرست ، مانند دستور زیر به پوشه بروید.

cd پارچه-نمونه / شبکه اول

برای اجرای نمونه شبکه اول ، باید از اسکریپت byfn.sh استفاده کنید. فیلمنامه برای شروع سریع پروژه با چهار همتا طراحی شده است. چهار همتا نماینده دو سازمان مختلف هستند. این همچنین کانتینر ، کد زنجیره ای و معاملات را راه اندازی خواهد کرد. این کانتینر سایر همتایان را قادر می سازد به شبکه بپیوندند.

تولید مصنوعات شبکه

اکنون می توانید گواهینامه ها و کلیدها را برای نهادهای شبکه ایجاد کنید. برای انجام این کار ، باید دستور زیر را اجرا کنید.

.byfn.sh تولید می کند

قبل از شروع روند از شما درخواست تأیید می شود. Y را فشار دهید تا شبکه با اطلاعات لازم ، از جمله تأمین انرژی خدمات سفارش ، پیکربندی و غیره ، پر شود.

تغذیه شبکه

بعد ، ما باید شبکه را تغذیه کنیم. تغذیه شبکه با دستور ساده زیر قابل انجام است.

./byfn.sh بالا

وقتی دستور را اجرا کردید ، فریم ورک تصاویر Changode Golang را کامپایل می کند. علاوه بر این ، کانتینرهای مربوطه نیز آتش خواهند زد تا راهی برای پیوستن به شبکه برای همتایان جدید فراهم کنند.

به طور پیش فرض Go را در عمل مشاهده خواهید کرد. به این دلیل که Go زبان پیش فرض chaincode است. اما ، این بدان معنا نیست که شما نمی توانید از زبانهای برنامه نویسی دیگر استفاده کنید. Chaincode همچنین از Node.js و Java پشتیبانی می کند. برای تغییر به گره ، می توانید از دستور زیر استفاده کنید.

.گره byfn.sh up -l

به همین ترتیب می توانید تغییر به جاوا اگه نیاز داشتی به.

.byfn.sh بالا -l جاوا

اگر می خواهید از چندین زبان chaincode استفاده کنید ، پس باید از خدمات سفارش شامل Raft یا Kafka استفاده کنید.

./byfn.sh up -o etcdraft

./byfn.sh up -o kafka

هر بار که از این دستور استفاده می کنید ، قبل از اجرای دستور یک بار دیگر تأیید می کنید.

برای درک بیشتر نحوه ساخت و نگهداری اولین شبکه خود ، آموزش ساخت شبکه را بررسی کنید اینجا.

راه اندازی شبکه

اکنون که نمونه هایی را نصب کرده و صفحه پیش نیاز را مرور کرده اید ، اکنون زمان آن فرا رسیده است که شبکه را راه اندازی کنیم.

به منظور سادگی ، ما قصد نداریم از JavaScript استفاده کنیم. همچنین ، شما به زیرشاخه fabcar نیاز دارید. همچنین یک شبیه سازی محلی نمونه از نمونه های پارچه ای ایجاد کنید.

برای راه اندازی شبکه ، باید از اسکریپت پوسته startFabric.sh استفاده کنید. پس از راه اندازی ، یک شبکه بلاکچین دریافت خواهید کرد که دارای مجوزهای معتبر ، سفارش دهندگان ، همتایان و غیره است. همانطور که از زیرشاخه fabcar استفاده می شود ، قرارداد هوشمند FabCar به طور خودکار نصب و آغاز می شود.

دستور شروع شبکه به شرح زیر است:

./startFabric.sh javascript

نصب برنامه

اکنون زمان نصب برنامه فرا رسیده است. اما ، قبل از انجام این کار ، باید وابستگی ها را نصب کنیم.

npm نصب کنید

دستور بالا شروع به نصب وابستگی های مهمی می کند که در قسمت تعریف شده اند pack.json

در بسته ، کلاسهای مهمی که شروع به کار می کنند شامل می شوند

  • پارچه شبکه-کلاس transactions تراکنش ها ، هویت ها ، کیف پول ها را امکان پذیر می کند
  • fabric-ca-client → ثبت نام کاربران در مراجع صدور گواهینامه مربوطه

پس از اتمام کار ، ما به فهرست fabcar / javascript خواهیم رفت. بیایید به پرونده های فهرست زیر نگاه کنیم:

  • ثبت نام Admin.js
  • node_modules
  • pack.json
  • RegisterUser.js
  • فراخوانی jj
  • pack-lock.json
  • query.js
  • کیف پول

برقراری ارتباط با سازمان صدور گواهینامه

اکنون که یک شبکه در حال اجرا داریم ، بیایید یاد بگیریم که چگونه با یک مرجع صدور گواهینامه ارتباط برقرار کنیم.

درخواست امضای گواهی (CSR)

اولین کار ما این است که فرآیند CSR را طی کنیم. در این فرایند ، مدیر برای تهیه گواهی عمومی ، خصوصی و X.509 با مرجع صدور گواهینامه تماس می گیرد. برنامه ای که برای انجام آن استفاده می شود ، enroll.js است

برای ثبت نام مدیر ، از دستور زیر استفاده کنید.

nodeAdroll.js را ثبت کنید

تمام اطلاعات اکنون در کیف پول فهرست راهنما.

اگر می خواهید کاربر دیگری ثبت نام کنید ، باید همین روند دنبال شود. بیایید سعی کنیم کاربر دیگری را ثبت کنیم – usernew

nister reisterUser.js

با این کار کاربر جدید ثبت نام می شود و اطلاعات کاربری آن در کیف پول در کنار سرپرست ذخیره می شود.

استعلام لجر

از آنجا که شبکه بلاکچین یک کپی از دفترچه کتاب دارد ، می توانید برای یافتن اطلاعات از آن پرس و جو کنید. لجرها فقط خواندنی هستند و به همین دلیل فقط کوئری های خواندنی قابل اجرا هستند. برای درک بهتر ، بیایید تصویر زیر را بررسی کنیم.

آموزش پارچه Hyplerledger

منبع: Hyperledger Fabric Docs

مقادیر روی دفتر نیز در آن باقی می مانند دولت جهانی. این مقدار جفت کلید است که در ابتدا در مورد آموزش مورد بحث قرار گرفته است. بنابراین ، یک پرس و جو می تواند داده ها را از کلیدها نشان دهد. خبر خوب این است که شما می توانید از پایگاه داده هایی مانند CouchDB استفاده کنید. کشورهای جهان را می توان برای استفاده از پایگاه داده های رابطه ای پیکربندی کرد.

برای دریافت لیست تمام اتومبیل های موجود در دفتر ، دستور زیر را اجرا کنید,

query.js گره

برای درک بهتر عملکرد پرسشگری ، ممکن است بخواهید باز کنید query.js پرونده را طی کنید و از آن عبور کنید. اجازه دهید آن را در زیر بررسی کنیم.

const {FileSystemWallet، Gateway} = نیاز (“پارچه-شبکه”)؛

در خط فوق ، یک اتصال شبکه ایجاد می شود

سپس ، یک درگاه برای اتصال برنامه ایجاد می شود. این کار با استفاده از خطوط زیر انجام می شود.

const gateway = دروازه جدید ()؛

در انتظار gateway.connect (ccp ، {wallet، identity: ‘user1’})؛

ccp برای شناسایی هویت کاربر و اطلاعات کیف پول مربوطه استفاده می شود.

از آنجا که شبکه Hyperledger Fabric چندین کانال را اجرا می کند ، مهم است که به کانال خاصی برای برنامه متصل شوید.

قرارداد قرارداد = network.getContract (‘fabcar’)؛

درک قرارداد هوشمند

برای درک بهتر قرارداد هوشمند ، اجازه دهید آن را مرور کنیم. همچنین معاملات انجام شده از طریق آن را به نمایش می گذارد.

برای دسترسی به آن ، باید به زیر شاخه بروید chaincode / fabcar / javascript / lib. پس از ورود ، fabcar.js را در یک ویرایشگر باز کنید.

در آنجا استفاده از کلاس Contract برای تعریف قرارداد هوشمند را مشاهده خواهید کرد. علاوه بر این ، معاملات واضحی در قرارداد هوشمند تعریف می شود ، از جمله queryCar ، queryAllCars ، initLedger ، changeCarOwner و createCar.

معاملات به شرح زیر است:

async queryCar (ctx، carNumber) {…}

بیایید معامله queryCar را بررسی کنیم.

async queryAllCars (ctx) {

const startKey = ‘CAR0’ ؛

const endKey = ‘CAR999’؛

تکرار کننده ثابت = منتظر ctx.stub.getStateByRange (startKey، endKey)؛

آموزش js پارچه hyperledger

منبع: Hyperledger Fabric Docs

بروزرسانی لجر: خرید ماشین جدید

آخرین مرحله به روزرسانی دفتر حساب با اطلاعات جدید است. در این حالت ، بیایید با استفاده از invoke.js ماشین جدیدی ایجاد کنیم. باید پرونده را باز کنید و دستور زیر را به آن اضافه کنید.

در انتظار contract.submitTransaction (‘createCar’، ‘CAR12’، ‘CarBrand’، ‘Model’، ‘Color’، ‘Owner’)؛

در کد بالا ، تماس های برنامه ایجاد تراکنش های قرارداد هوشمند createCar. در عوض ، این خودرو با ویژگی های خود ، از جمله CarBrand ، Color ، Model و Owner ایجاد می کند.

اکنون کد زیر را اجرا کنید تا آن را به دفتر بکشید

گره invoke.js

در نتیجه به روزرسانی دفتر انجام می شود و خروجی موفقی خواهید داشت.

نتیجه

این ما را به انتهای آموزش ما هدایت می کند. هدف ما این بود که فقط سطح را بپوشانیم. اگر می خواهید به عمق شیرجه بروید ، می توانید اسناد رسمی Hyperledger Fabric آنها را بررسی کنید ، که در مورد همه موارد با جزئیات صحبت می کند.

بنابراین ، آیا شما قصد دارید از Hyperledger Fabric برای ایجاد بلاکچین سازمانی استفاده کنید؟ نظر خود را در زیر وارد کنید و به ما اطلاع دهید.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map