10 ابزار برتر در زمینه برنامه‌‌نویسی زنجيره بلوکی
انتخاب یک کتابخانه مناسب برای پیاده‌سازی زنجيره بلوکی، به میزان زیادی به روشی که سازمان شما می‌خواهد از زنجيره بلوکی بهره‌‌برداری کند، بستگی دارد. آن‌هایی که می‌خواهند از زنجيره بلوکی به عنوان یک منبع راستی‌‌آزمایی برای قراردادها استفاده کنند باید به سراغ کتابخانه‌هایی بروند که با زنجيره‌های مختلف در حال پدیدار شدن ارتباط برقرار می‌کنند. آن‌هایی هم که می‌خواهند با واحدهای پولی مختلف در تعامل باشند باید یک پل با مبادلات مختلف برقرار کنند. در ادامه با 10 کتابخانه هیجان‌انگیز آشنا خواهید شد که می‌توانید از آن‌ها برای اضافه کردن زنجيره بلوکی به نرم‌افزار سازمانی خود استفاده کنید.

1606683296_1_0.gif

بیشتر انرژی و اشتیاق دنیای زنجيره بلوکی صرف رمزارزها می‌شود. اغلب سازمان‌ها هم بی‌سرو صدا از این تحولات بهره برداری می‌کنند. بعضی از این شرکت‌ها تمایل دارند از رمزارزها به جای واحدهای پولی رایج مانند دلار و یورو در مبادلات خود استفاده کرده و از مزایای آن بهره‌مند شوند. برخی دیگر به قدرت فراهم شده توسط رمزنگاری پیشرفته زنجیره بلوکی علاقمندند. آن‌ها می‌خواهند از ریاضی و علم استفاده کنند تا کارها و فعالیت‌های درون سازمانی خود را تقویت کنند. در زمان ساخت اپلیکیشن‌های زنجيره بلوکی سازمانی این کتابخانه‌های ارزشمند کار شما را راحت می‌کنند. حتی اگر به استفاده از رمزارزها تمایلی نداشته باشید و بخواهید از نقش پایدار قابلیت ردیابی و تایید اعتبار تراکنش‌ها بهره‌مند شوید، باز هم باید از رمزنگاری به درستی استفاده کنید. چنين کاری با سفارشی‌‌سازی کدهای اصلی قابل انجام نیست و بهتر است که از یک کتابخانه خوش‌‌ساخت مخصوص این کار استفاده شود. 

BigChainDB

www.bigchaindb.com
پایگاه‌های داده و زنجيره بلوکی اطلاعات را ذخيره‌سازی می‌کنند. بعضی از مردم علاقه دارند درباره تفاوت آن‌ها بحث کنند. شركت سازنده BigChainDB سعی دارد تا با ساخت یک پایگاه داده توزیع شده با ویژگی‌های تغییرناپذیر زنجيره بلوکی این مفاهیم را با هم ترکیب کند. این سیستم پاسخ‌گوی زبان کوئری‌نویسی MongoDB است و یک معماری مجوز پیچیده را برای فراهم کردن انواع مختلفی از رکوردهای تغییرناپذیر ارائه می‌کند. این ابزار به همراه یک مجوز منبع‌‌باز در دسترس است و شما می‌توانید از خدمات این شرکت برای مشاوره و پشتیبانی تولید بهره بگیرید.

Bitcoin Core

www.bitcoin.org/en/bitcoin-core
پروتکل بیت کوین به گونه‌ای طراحی شده تا غیرمتمرکز باشد. توسعه‌دهندگان حرفه‌ای که قصد دارند با بیت‌کوین کار کنند باید نودهای کامل را اجرا کنند که برای اضافه کردن بلوک‌های جديد به زنجيره به طور کامل در فرآیند ایجاد اجماع مشارکت می‌کنند.
Bitcoin Core نسخه مرجع قطعی این نرم‌‌افزار است اما کلون‌هایی مانند Bcoin هم وجود دارد که یک کتابخانه جاوا اسکریپت برای کاربران
Node.js فراهم می‌کند که می‌خواهند در استخراج و تراکنش‌ها مشارکت داشته باشند. یک Bcoin Cash هم برای کسانی که می‌خواهند با این محل انشعاب کار کنند، وجود دارد. اگر شما فعالانه تراکنش‌ها را تفتیش می‌کنید، کتابخانه (/BPanel (https://bpanel.org از گروه Bcoin به‌عنوان یک BMS یا یک سیستم مدیریت بیت‌کوین با تمام ویژگی‌های استاندارد موجود در یک سیستم مدیریت محتوا مثل وردپرس و دروپال رفتار می‌کند.

BPanel (https://bpanel.org/)

Coinbase

www.coinbase.com
بسیاری از کسانی که به کار با رمزارزها نیاز دارند نمی‌خواهند با چالش‌ها و دردسرهای درگیر شدن با تراکنش‌ها مواجه شوند. آن‌ها مایلند تا فرد دیگری این کار را انجام دهد. یکی از بزرگ‌ترین و بهترین مبادلات موجود Coinbase است. شرکتی که APIهایی را برای کسانی‌که می‌خواهند تراکنش‌ها را از طریق آن‌ها پردازش کنند، فراهم کرده است. شما می‌توانید کتابخانه‌های Coinbase را برای Ruby, PHP و Node در اختیار داشته باشید. این پلتفرم از چهار پول دیجیتال رایج Bitcoin, Bitcoin Cash, Litecoin و Ethereum پشتیبانی می‌کند. 

مطلب پیشنهادی

نمونه‌هایی از موارد استفاده زنجیره بلوکی در عرصه‌های مختلف

Corda

www.corda.net
پروژه منبع باز Corda بخشی از مشارکت در صنعت بانکداری جنبش زنجيره بلوکی است. این یک پول رایج یا جایگزینی برای بانک‌ها نیست، زیرا بانک‌ها قبلا یک لایه پیچیده اعتماد برای پیاده‌سازی سیستم پرداخت ارائه کرده‌اند. این بیشتر کتابخانه‌ای برای ساخت دفتر حساب توزیع شده شخصی شما است. 
ایده‌ای متفاوت که اغلب همان کارهای یکسان را انجام می‌دهد. گروه‌هایی از شرکت‌ها یا مردم می‌توانند قراردادهای هوشمند را ایجاد کرده و از این دفتر حسابرسی برای ردگیری مالکیت دارایی‌ها استفاده کنند. این کد بیشتر از کنار گذاشتن صنعت مالی بر تشکیلات اقتصادی متمرکز است.

Embark

www.embark.status.im
ساخت یک قرارداد هوشمند یا یک اپلیکیشن توزیع شده برای زنجيره بلوکی Ethereum مقدار مناسبی از هماهنگی را طلب می‌کند. ابتدا این کد باید کامپایل شده، بعد مورد آزمايش قرار گیرد و در نهایت روی یک شبکه مستقر شود. Embark، از مجموعه‌ای از کتابخانه‌ها و ابزارهای گوناگون تشکیل شده که شامل یک ویرایشگر کد، یک رابط کاربری تحت وب و یک کاوشگر تراکنش به همراه تعدادی پلاگین اضافی است. تمام این‌ها شبیه یک IDE برای دنیای Ethereum کار می‌کند.

Ethereum

www.ethereum.org
توسعه‌دهندگانی که می‌خواهند قراردادهای هوشمند ایجاد کنند می‌توانند از یک زبان قدرتمندتر برای ساخت موافقت‌‌‌نامه‌های پیچیده در زنجیره بلوکی استفاده کنند. منابع رسمی‌ پیاده‌سازی این پروژه‌ها که به زبان Go نوشته شده، بسیار پرکاربرد هستند و از طریق وب اجرا می‌شوند. کسانی‌که می‌خواهند یک نود را در شبکه Ethereum اجرا کنند می‌توانند آن را به‌صورت کامل یا به عنوان یک کتابخانه ایجاد کنند. Ethereum شامل تعدادی ابزار برای توسعه‌دهندگان کد است که می‌خواهند قراردادهای دیجیتال را مانند یک نسخه از ماشین مجازی که آن‌ها را اجرا خواهد کرد، تعریف کنند.
طرفداران زبان‌های خاص می‌توانند نسخه‌هایی از پشته Ethereum را پیدا کنند که یا به طور مستقیم کد Ethereum را اجرا می‌کند یا بخشی از ساختار آن را به خدمت می‌گیرد. برای نمونه، Pyethereum یک کتابخانه مرکزی به همراه رابط خط فرمان است که از آن برای استفاده از پایتون برای تعامل با زنجيره Ethereum استفاده می‌شود. توسعه‌دهندگانی که به پایتون علاقه دارند و می‌خواهند قراردادهای هوشمند اختصاصی خود را بنویسند، می‌توانند به سراغ Vyper که یک زبان متمرکز بر امنیت برای توسعه قراردادها است، بروند. کتابخانه‌های مشابه دیگری برای سایر زبان‌ها وجود دارد که از آن جمله می‌توان به Web3.js برای جاوا اسکریپت و Nethereum برای .Net اشاره کرد.

GUN

www.github.com/amark/gun
به سختی می‌توان عبارت زنجيره بلوکی را در اسناد GUN پیدا کرد، اما شباهت‌های زیادی در آن وجود دارد. در معرفی رسمی‌ آن آمده که GUN یک ابزار کاملا غیرمتمرکز برای همگام‌‌سازی داده‌های پیرامون یک شبکه است. هیچ کنترلی روی منابع راستی‌آزمایی و پروتکل اجماع (تفاوت اصلی با زنجيره بلوکی سنتی) وجود ندارد. اما GUN همچنان یک زیربنای قدرتمند برای ساخت اپلیکیشن‌های توزیع شده محسوب می‌شود، زیرا اطلاعات به راحتی و به سرعت از طریق شبکه جریان پیدا می‌کند و طبق مطالب مندرج در اسناد GUN از دست رفتن اطلاعات مهم تقريبا غیرممکن است. 
اگر الگوریتم شما به مذاکره در مورد برخی از قواعد اجماع بر صحت ندارد (چیزی که اغلب در شبکه‌های اجتماعی و جایی که هر عضو مستقل در نظر گرفته می‌شود، اتفاق می‌افتد) یک ابزار مثل GUN می‌تواند بسیاری از مزایای توزیع شده را که ما در زنجیره بلوکی شاهد آن هستیم، بدون زمان و هزینه اضافی برای هر گونه الگوريتم اثباتی فراهم ‌کند.

Hyperledger

www.hyperledger.org/projects
یکی از بزرگ‌ترین پروژه‌های منبع باز برای ساخت زنجيره بلوکی Hyperledger است که از مجموعه بزرگی از ابزارها و فریم‌‌ورک‌ها برای حفظ یک زیرساخت گسترده برای همگرا شدن با یک واقعیت مشترک تشکیل شده است. تمام ابزارهای به کار گرفته شده در این مجموعه با هدف پشتیبانی از پیاده‌سازی‌های مستقل درون سازمانی در نظر گرفته شده است. برای نمونه، Grid به منظور تشکیل دادن یک زنجيره بلوکی که جریان اجزا و پرداخت‌ها را در شبکه‌های تامین کننده ردگیری می‌کند، در نظر گرفته شده است. کتابخانه‌های موجود در این مجموعه انواع مختلفی از داده‌ها و فرمت‌های مختلف از پیش تعریف شده را ارائه می‌کنند که می‌توان آن‌ها را برای صنایع تولیدی خاص سفارشی‌سازی کرد. بسیاری از زیر پروژه‌ها مانند Irora و Sawtooth به‌صورت ماژولار طراحی شده‌اند و به توسعه‌دهندگان اجازه مي‌دهند تا ترکیبی از کنترل مجوزها و ساخت اجماع را در اختیار داشته باشند. 

مطلب پیشنهادی

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

Quorum

www.github.com/jpmorganchase/quorum
ماهیت عمومی‌ بسیاری از داده‌ها در زنجیره بلوکی همیشه با یک قابلیت و یک چالش همراه بوده است. Quorum یک زیرمجموعه از Ethereum محسوب می‌شود و گزینه‌هایی را برای حفظ حریم خصوصی و راهکار موثر برای رسیدن به یک اجماع به شیوه‌ای بهتر فراهم می‌کند. زنجيره‌های بلوکی خاص ساخته شده در داخل شرکت‌ها یا در بین اعضای کنسرسیوم می‌توانند از Quorum برای ساخت زنجیره‌های بلوکی کوچک‌تر، سریع‌تر و ساده‌تر بدون صرف هزینه و زمان اضافه استفاده کنند.
برای نمونه مدل Raft تصمیمات نهایی را در مورد محتوای زنجيره ایجاد کرده و از نودهایی که این‌گونه تصمیمات را می‌پذیرند، دنباله‌روی می‌کند. سرعت تراکنش‌ها در این روش بسیار بالا است و طی چند میلی‌ثانیه نهایی می‌شود. مدل Istanbul تحمل خطای بیزانسی (Byzantine Fault Tolerance) را برای شبکه‌های پیچیده‌تر با اعتماد کمتر ارائه می‌کند.
Quorum یک مکانیسم مبتنی بر مجوز برای ایجاد تراکنش‌های خصوصی و پنهان کردن جزئیات از سایر اعضای کنسرسیوم ارائه می‌کند. نودهای مستقل ساختار درختی‌های جداگانه Merkle را برای داده‌های عمومی‌ و خصوصی نگهداری می‌کند و باعث می‌شود تا آن‌ها مکمل یکدیگر باشند. 

Truffle

www.github.com/trufflesuite/truffle
ساخت یک قرارداد هوشمند شخصی با یک IDE برای یک وظیفه بهینه‌سازی شده به مراتب راحت‌تر است. Truffle ساخته‌شده تا امکان تولید، آزمايش و پیاده‌سازی قراردادهای نوشته شده در Solidity را فراهم کند. Solidity، یکی از معروف‌ترین زبان‌های زنجيره بلوکی Ethereum است. Truffle IDE کدها را در حالی که با پکیج‌های Ethereum دیگری که با EthPM مدیریت شده، یکپارچه‌سازی و کامپایل می‌کند. 
آزمايش‌ها در یک محیط کنترل شده با استفاده از یک نسخه خصوصی از زنجيره بلوکی Ethereum به نام Ganache که به‌صورت محلی در حال اجرا است، آغاز می‌شود. این آزمایش با زبان Solidity برای آزمایش رفتار درون دنیای زنجيره بلوکی و با زبان جاوا اسکریپت یا تایپ اسکریپت برای شبیه‌سازی نحوه تعامل قراردادها با خارج از دنیای زنجيره بلوکی نوشته می‌شود. پروژه Truffle شامل یک مجموعه از ابزارهای مدیریت داده React/Redux به نام Drizzle است که ساخت اپلیکیشن‌های وب را کمی‌ ساده‌تر می‌کند.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟