آموزش تخصصی توسعه Hyperledger Chaincode با GoLang - آخرین آپدیت

دانلود Mastering Hyperledger Chaincode Development using GoLang

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

آموزش جامع توسعه اپلیکیشن‌های Hyperledger Fabric 2.1 با GoLang و Node SDK

توسعه اپلیکیشن‌های Fabric 2.1 از ابتدا تا انتها با استفاده از GoLang و Fabric Node SDK

توسعه Chaincode با GoLang

توسعه اپلیکیشن با Fabric Node SDK

استفاده از Private Data

کاربرد Instantiation & Endorsement Policies

پشتیبانی از Rich Queries & Asset History

پیاده‌سازی کنترل دسترسی برنامه‌نویسی با "Client Identity Library"

ابزارهای تست Chaincode مانند Golang Testing Framework & MockStub

پیش‌نیازهای دوره

  • درک پایه از Hyperledger Fabric | Distributed Ledger Technology
  • دانش پایه GoLang (نیازی به تخصص نیست)
  • آشنایی با Docker (امکان مراجعه به مستندات وجود دارد)
  • راحتی کار با ترمینال لینوکس | اسکریپت‌های Shell
  • توانایی نصب نرم‌افزار بر روی سیستم
  • آشنایی با Node.js مزیت محسوب می‌شود (چون دوره Node SDK را نیز پوشش می‌دهد)
  • یک کامپیوتر شخصی (PC یا Mac) با اتصال اینترنت مناسب

نکته:

  • آپدیت دوره برای Fabric 2.1 در آوریل ۲۰۲۰

چالش‌های توسعه Chaincode Hyperledger Fabric برای توسعه‌دهندگان:

  • کمبود مستندات از دیدگاه توسعه‌دهنده
  • نیاز به راه‌اندازی محیط توسعه Fabric
  • عدم وجود ابزارهای توسعه | رویه‌های استاندارد
  • عدم وجود راهنمای جامع برای توسعه پربازده chaincode

این دوره تلاشی است برای رفع تمام این چالش‌ها.

  • مثال: دانشجو نیازی به صرف وقت برای راه‌اندازی محیط توسعه از ابتدا ندارد – دوره "اجرای یک کلیک" را ارائه می‌دهد.
  • مثال: دوره ابزارهای توسعه‌ای را ارائه می‌دهد که به توسعه‌دهندگان کمک می‌کند بر یادگیری کد تمرکز کنند.
  • مثال: نحوه بهره‌برداری از مفاهیم مختلف Fabric برای ساخت chaincode کاربردی به صورت گام به گام نمایش داده می‌شود.
  • مثال: chaincode کاربردی برای تمام مفاهیم پوشش داده شده در دوره.
  • مثال: دستورات مورد استفاده برای اهداف توسعه (که در اسکریپت‌های کمکی به عنوان بخشی از دوره بسته‌بندی شده‌اند).

اسکریپت‌های کمکی

  • اسکریپت‌های کمکی برای افزایش بهره‌وری توسعه‌دهنده ارائه شده‌اند؛ دستورات طولانی در خط فرمان دشوار هستند.
  • ممکن است لازم باشد دانشجو به تنهایی برخی از اسکریپت‌های کمکی را بررسی کند.

لطفاً اگر تمایلی به استفاده از اسکریپت‌های بهره‌وری/توسعه ندارید و ترجیح می‌دهید دستورات طولانی را در ترمینال وارد کنید، در این دوره شرکت نکنید :-)

نکات مهم:

  • این دوره عملی است. اگر تجربه کدنویسی ندارید، لطفاً شرکت نکنید.
  • پیش‌نمایش درس‌ها را مشاهده کنید. اگر لهجه یا سرعت تدریس من را متوجه نمی‌شوید، لطفاً شرکت نکنید :-)

ویژگی‌های برجسته دوره:

  • محیط توسعه آماده استفاده با پیکربندی‌های مختلف (مخزن پروژه قابل دانلود است).
  • راه‌اندازی Hyperledger Explorer که دانشجویان می‌توانند برای مشاهده گرافیکی شبکه از آن استفاده کنند.
  • ارائه ابزارها/اسکریپت‌های کاربرپسند تا توسعه‌دهندگان بتوانند بر یادگیری توسعه Chaincode تمرکز کنند.
  • بخش‌ها با بررسی مفاهیم آغاز می‌شوند. درس‌های راهنما، مفاهیم را در عمل با کد واقعی نشان می‌دهند.
  • هر بخش نیاز به کدنویسی (تمرین) توسط دانشجو دارد.
  • تمام بخش‌ها | تقریباً تمام درس‌ها نیاز به فعالیت عملی توسط دانشجو دارند.

چیدمان دوره:

  1. راه‌اندازی محیط توسعه
  2. مبانی پلتفرم Fabric از دیدگاه توسعه
  3. ساختار Chaincode GoLang
  4. تست واحد | تست یکپارچگی chaincode
  5. طراحی برای Private Data | تراکنش‌ها
  6. تنظیم Endorsement Policies
  7. پرس‌وجو با توابع Rich Query (با استفاده از CouchDB)
  8. دسترسی به تاریخچه دارایی (Asset History)
  9. پیاده‌سازی کنترل دسترسی | احراز هویت با استفاده از "Client Identity Library"
  10. ساخت اپلیکیشن با استفاده از Fabric Node SDK

چه مواردی در این دوره پوشش داده نمی‌شود؟

  1. مبانی Hyperledger Fabric
  2. جزئیات باینری‌های Fabric مانند peer, orderer, configtxgen, cryptogen ...
  3. Hyperledger Fabric Certificate Authority (دوره عمدتاً از crypto تولید شده توسط cryptogen استفاده می‌کند)
  4. طراحی و راه‌اندازی Multi Org Setup

تمام موارد بالا در دوره‌های دیگر من پوشش داده شده‌اند. لطفاً آن‌ها را بررسی کنید.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • لینک دانلود ریپازیتوری پروژه + کلید خصوصی Project Repository Download link + Secret

آپدیت Hyperledger Fabric 2.x Hyperledger Fabric 2.x Update

  • بخش Fabric 2.x | آپدیت‌های لکچر Fabric 2.x Section | Lecture updates

  • آپدیت‌های Chaincode هایپرلجر فابریک 2.x (جدید چیست؟) Hyperledger Fabric 2.x Chaincode Updates (What's new?)

راه اندازی محیط توسعه Development Environment Setup

  • پیش‌نیازهای دستگاه توسعه و راه اندازی IDE Dev Machine Requirements & IDE Setup

  • دوره فشرده مجازی‌سازی (Vagrant & VirtualBox) Crash course on Virtualization (Vagrant & VirtualBox)

  • دانلود ریپازیتوری پروژه و راه اندازی VM توسعه Download Project Repo & Setup the Dev VM

  • مروری بر محیط توسعه و گزینه‌های راه اندازی Dev Environment Overview & Setup options

  • نصب سریع Virtual Box Virtual Box Express Install

  • نصب استاندارد VM (بخش اول) Standard VM Install (1 of 2)

  • نصب استاندارد VM (بخش دوم) Standard VM Install (2 of 2)

بزن بریم سراغ کار Lets get our hands dirty

  • دفترچه‌های توزیع شده، تراکنش‌ها، Chaincode و Shim Distributed Ledgers, Transactions, Chaincode & Shim

  • مفاهیم Chaincode فابریک Fabric Chaincode Concepts

  • استفاده از ابزارهای محیط توسعه Using the Dev Environment utilities

  • عملی: اسکریپت‌های کاربردی برای مدیریت محیط توسعه Hands On: Utility scripts for managing development environment

  • تمرین: استفاده از اسکریپت‌های "dev-" Exercise: Using the "dev-" scripts

  • عملی: راه اندازی محیط و اجرای دستورات peer Hands On: Setting the environment & executing peer commands

  • عملی: کار با ابزار Hyperledger Explorer Hands On: Working with Hyperledger Explorer Tool

  • عملی: ابزار اجرای Chaincode Hands On: Chaincode execution utility

چرخه حیات Chaincode فابریک 2.x Fabric 2.x Chaincode Lifecycle

  • چرخه حیات - بسته‌بندی و نصب Chaincode Lifecycle- Chaincode Packaging & Installation

  • تمرین - بسته‌بندی و نصب Chaincode Exercise- Chaincode Packaging & Installation

  • چرخه حیات - تایید و تعهد Chaincode Lifecycle - Chaincode Approval & Commitment

  • تمرین - تایید و تعهد Chaincode Exercise - Chaincode Approval & Commitment

  • چرخه حیات - فراخوانی و پرس و جوی Chaincode Lifecycle - Chaincode Invoke & Query

  • تمرین - فراخوانی و پرس و جوی Chaincode Exercise - Chaincode Invoke & Query

  • چرخه حیات - ارتقای Chaincode Lifecycle - Chaincode Upgrade

  • تمرین - ارتقای Chaincode Exercise - Chaincode Upgrade

  • حالت شبکه Chaincode در مقابل حالت توسعه Chaincode Net versus Dev Mode

رابط Go Chaincode Go Chaincode Interface

  • پیاده‌سازی و عملکرد رابط Chaincode Chaincode Interface implementation & working

  • لاگ‌گیری از Chaincode Logging from Chaincode

  • عملی: نصب Chaincode | تعهد | مرور لاگ‌گیری Hands On: Chaincode Install | Commit | Logging Walkthrough

  • عملی: رابط Chaincode Hands On: Chaincode Interface

  • ارسال پاسخ موفقیت و خطا Sending the Success & Error Response

  • آزمون: Shim، پاسخ‌ها و لاگ‌گیری Quiz: Shim, Responses & Logging

Stub Chaincode Go Go Chaincode Stub

  • مقدمه‌ای بر ChaincodeStub Introduction to ChaincodeStub

  • استخراج اطلاعات پروپوزال Extracting Proposal Information

  • عملی: استفاده از توابع برای دسترسی به عناصر پروپوزال Hands On: Using functions for accessing Proposal elements

  • ارسال آرگومان‌ها و پیاده‌سازی تابع فراخوانی Passing Arguments & Invoke Function Implementation

  • عملی: استفاده از تابع آرگومان‌ها Hands On: Using Arguments function

  • پروپوزال‌های تراکنش و آرگومان‌ها Transaction proposals & arguments

  • مدیریت وضعیت Chaincode Chaincode State Management

  • عملی: توابع وضعیت Chaincode GetState، PutState و DelState Hands On: Chaincode State Functions GetState, PutState & DelState

  • تمرین: اضافه کردن تابع "delete" به پیاده‌سازی توکن V5 Exercise: Add the "delete" function to V5 Token implementation

  • مدیریت داده‌های وضعیت State Data Management

  • فراخوانی Chaincode از Chaincode دیگر Invoking Chaincode from another Chaincode

  • عملی: تابع InvokeChaincode Hands On: InvokeChaincode function

  • InvokeChaincode InvokeChaincode

  • رویدادهای فابریک و اشتراک‌ها Fabric Events & Subscriptions

  • عملی: استفاده از تابع رویداد Hands On: Event function usage

  • رویدادهای فابریک Chaincode Fabric Events Chaincode

نوشتن موارد تست واحد برای برنامه‌های شبکه Writing Unit Test Cases for Network Applications

  • تست Chaincode فابریک Fabric Chaincode Testing

  • فریمورک تست GoLang GoLang Testing Framework

  • عملی: تست Chaincode با استفاده از فریمورک تست GoLang Hands On: Testing the Chaincode using GoLang Test Framework

  • تست واحد Chaincode با MockStub Chaincode unit testing with MockStub

  • عملی: استفاده از MockStub برای تست Hands On: Use the MockStub for Testing

  • نوشتن اسکریپت‌های تست واحد (کاربردی) Writing Unit Tests Scripts (Utility)

  • عملی: اسکریپت‌های تست واحد Hands On: Unit Testing Scripts

پروژه کوچک: توسعه توکن ERC20 روی فابریک Mini Project: Develop the ERC20 Token on Fabric

  • ICO و توکن‌ها ICO & Tokens

  • تمرین: نیازمندی‌های این پروژه Exercise: Requirement for this project

  • عملی: مرور راه حل Hands-on: Solution walkthrough

  • تمرین: تست کردن رویدادهای "transfer" Exercise: Test out the "transfer" events

جریان تراکنش و سیاست‌های تایید Chaincode Transaction Flow & Chaincode Endorsement Policies

  • جریان تراکنش در فابریک Transaction Flow in Fabric

  • جریان تراکنش در فابریک Transaction flow in Fabric

  • کنسرسیوم‌ها و مقامات امین Consortiums and Trust Authorities

  • سیاست‌های تایید و عبارات Endorsement Policies & Expressions

  • سیاست‌های تایید Endorsement Policies

  • سیاست تایید در چرخه حیات Chaincode در راه اندازی توسعه Chaincode Lifecycle EP in Dev Setup

  • عملی: سیاست‌های تایید Chaincode Hands On: Chaincode Endorsement Policies

  • تمرین: عبارات سیاست تایید Chaincode Exercise: Chaincode Endorsement Policy Expressions

محرمانگی تراکنش و داده Transaction and Data confidentiality

  • محرمانگی تراکنش و داده Transaction & Data Confidentiality

  • مجموعه‌های داده خصوصی Private Data Collections

  • مجموعه داده خصوصی Private Data Collection

  • جریان تراکنش‌های شامل داده خصوصی Flow of Transactions involving Private Data

  • جریان تراکنش برای PDC Transaction flow for PDC

  • تعریف مجموعه داده خصوصی (بخش اول) Private Data Collection Definition (1 of 2)

  • تعریف مجموعه داده خصوصی (بخش دوم) Private Data Collection Definition (2 of 2)

  • مجموعه داده خصوصی Private Data Collection

  • مجموعه داده های خصوصی Private Data Collection

  • عملی: تنظیم تعریف PDC در فایل JSON Hands-On: Setting up the PDC Definition in JSON file

  • عملی: مجموعه داده خصوصی در عمل Hands-On: Private Data Collection in action

  • تمرین: به‌روزرسانی تعریف PDC Exercise: Update the PDC Definition

  • API Stub Chaincode برای مجموعه‌های داده خصوصی Chaincode Stub API for Private Data Collections

  • عملی: استفاده از API Stub PDC Hands-On: Using the PDC Stub API

  • تمرین: گسترش کد نمونه PDC Exercise: Extend the PDC Sample Code

اجرای کوئری‌های محدوده بر روی داده‌های وضعیت Executing Range Queries against the State Data

  • کوئری داده‌های وضعیت بر اساس محدوده Querying State Data by Range

  • توابع Stub برای کوئری‌های محدوده Stub functions for Range Queries

  • عملی: دریافت وضعیت بر اساس محدوده (Get State By Range) Hands-on: Get State By Range

  • کوئری‌های محدوده Range Queries

  • کار با صفحه‌بندی Working with Pagination

  • تابع Stub برای کوئری محدوده با صفحه‌بندی Stub function for Range Query with pagination

  • تمرین: گسترش برای صفحه‌بندی Exercise: Extend for pagination

  • مروری بر کلیدهای ترکیبی (Composite Keys) و کاربرد آنها Overview of Composite Keys & usage

  • توابع Stub مربوط به کلیدهای ترکیبی Stub functions related to Composite Keys

  • عملی: استفاده از توابع کلید ترکیبی Hands-on: Using the Composite Key functions

کوئری‌های پیشرفته در فابریک Rich Queries in Fabric

  • درک کوئری‌های پیشرفته Understanding the Rich Queries

  • عملی: آماده‌سازی زمینه برای کوئری‌های پیشرفته Hands-on: Setting the stage for Rich Queries

  • انتخابگرهای زبان کوئری Mango Mango Query Language Selectors

  • فیلدهای نتیجه کوئری Skip و Limit Query Result Fields Skip & Limit

  • توابع Stub برای کوئری‌های پیشرفته Stub functions for Rich queries

  • عملی: استفاده از توابع کوئری پیشرفته Hands-on: Using the Rich query functions

  • تمرین: ایجاد تابع تجمیع Exercise: Create Aggregation Function

  • استفاده از شاخص‌های CouchDB Using the CouchDB Indexes

  • عملی: کار با شاخص‌ها Hands-on: Working with indexes

  • مرتب‌سازی و شاخص‌ها Sorting and indexes

  • تمرین: اضافه کردن تابع گزارش به نمونه Exercise: Add a Report Function to sample

دریافت تاریخچه دارایی‌ها در chaincode Getting the history of assets in chaincode

  • مدیریت تاریخچه دارایی Managing asset history

  • توابع Stub و رابط کاربری برای تاریخچه Stub functions & interface for History

  • عملی: استفاده از History API Hands-on: Using the History API

  • لاگ‌های تاریخچه دارایی Asset History Logs

کنترل دسترسی برنامه‌نویسی: کتابخانه هویت کلاینت Programmatic Access Control: Client Identity Library

  • دسترسی و مجوز Chaincode Chaincode Access & Authorization

  • مرور کلی توابع کتابخانه هویت کلاینت Client Identity Library Function Overview

  • عملی: تست راه اندازی Chaincode با هویت کلاینت Hands-On: Test Chaincode Setup with Client Identity

  • عملی: با توابع هویت کلاینت Hands On: With Client Identity Functions

  • تمرین - Chaincode تایید معامله Exercise - Trade Approval Chaincode

Fabric Node SDK - توسعه برنامه Fabric Node SDK - Application Development

  • الگوهای برنامه Frontend فابریک Fabric Front End Application Patterns

  • راه اندازی Fabric Node SDK + کد نمونه Fabric Node SDK + Sample code setup

  • رویکرد: یادگیری مبتنی بر کاربرد Approach: Usage Based Learning

  • ماژول شبکه فابریک (fabric-network) Fabric Network Module (fabric-network)

  • عملی: توسعه ابزار کیف پول (Wallet Utility) Hands-On: Develop a Wallet Utility

  • راه اندازی نمونه کلاس Gateway Setting up the Gateway class instance

  • استفاده از کلاس‌های Network، Contract و Transaction Using the Network, Contract & Transaction classes

  • عملی: استفاده از کلاس‌های fabric-network برای فراخوانی و کوئری Chaincode ERC20 Hands On: Use the fabric-network classes for Invoking & Querying ERC20 chaincode

  • تمرین: گسترش کد نمونه برای ارسال تراکنش Exercise : Extend the sample code to submit transaction

  • fabric-client: مرور کلی کلاس Client fabric-client : Client class overview

  • عملی: کلاس Client و ابزار راه اندازی Credential Store Hands-On: Client class & Credential Store setup utility

  • استفاده از کلاس Peer Using the Peer classe

  • عملی: اجرای کوئری‌های Peer Hands-On: Executing Peer Queries

  • مرور کلی و کاربرد کلاس Channel Overview & Usage of Channel class

  • عملی: اجرای توابع مرتبط با Channel برای دریافت اطلاعات زنجیره (chain info) Hands On: Executing channel aware functions to get chain info

  • طراحی برنامه برای رویدادها با استفاده از کلاس ChannelEventHub Designing Application for events using ChannelEventHub class

  • عملی: کدنویسی Handler رویداد Block و Chaincode Hands On: Coding the Block & Chaincode event Handler

  • تمرین: مسئله چالش برانگیز Exercise: Challenge Problem

نمایش نظرات

آموزش تخصصی توسعه Hyperledger Chaincode با GoLang
جزییات دوره
10 hours
118
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,950
4.2 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Rajeev Sakhuja Rajeev Sakhuja

11xAWS دارای گواهی، مشاور، مربی، مبشر نوآوری