پرش به محتوای اصلی
Change page

ترکیب پذیری قراردادهای هوشمند

آخرین ویرایش: @bghad1(opens in a new tab), ۱۴ اسفند ۱۴۰۲

معرفی مختصر

قراردادهای هوشمند در اتریوم عمومی هستند و می توان آنها را به عنوان APIهای باز در نظر گرفت. برای تبدیل شدن به یک توسعه دهنده dapp نیازی به نوشتن قرارداد هوشمند خود ندارید، فقط باید بدانید که چگونه با آنها تعامل داشته باشید. برای مثال، می‌توانید از قراردادهای هوشمند موجود در Uniswap(opens in a new tab)، یک صرافی غیرمتمرکز، برای مدیریت همه منطق مبادله توکن ها در برنامه خود استفاده کنید - لازم نیست از صفر شروع کنید. برخی از قراردادهای v2(opens in a new tab) و v3(opens in a new tab) را بررسی کنید.

ترکیب‌پذیری چیست؟

ترکیب پذیری به معنای ترکیب کامپوننت های مجزا، با یکدیگر، به منظور ساخت یک سیستم و یا خروجی جدید می باشد. در توسعه نرم‌افزار، مبحث ترکیب پذیری به این معناست که توسعه دهنده می توانند با استفاده مجدد از کامپوننت های نرم افزاری موجود، یک اپلیکیشن جدید مد نظر خود را بسازند. یک راه خوب برای درک ترکیب پذیری این است که قطعات ترکیب پذیر را به صور قطعات لگو در نظر بگیریم. هر یک از قطعات لگو، می تواند با سایر قطعات تلفیق شده و با این تلفیق هایی که انجام میشود، قابلیت ساخت سازه های پیچیده ای را فراهم کند.

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

ترکیب پذیری چگونه عمل می‌کند؟

قراردادهای هوشمند اتریومی، مشابه API های عمومی هستند که هر کسی می تواند با آنها ارتباط برقرار کرده و یا اپلیکیشن غیر متمرکز خود را با ویژگی های مد نظر، با آن تطبیق داده و یکپارچه کند. به عبارت کلی در خصوص ترکیب پذیری در قراردادهای هوشمند میتوان به سه اصل اساسی و مهم اشاره کرد: ماژولاریتی، خود اجرا بودن، و قابلیت دسترسی:

1. ماژولاریتی: به معنای ویژگی هر کامپوننت برای انجام یک عملیات خاص و مشخص می باشد. هر کدام از قراردادهای هوشمند در اتریوم، یک مورد استفاده مخصوص به خود دارد. (همانطور که در مثال Uniswap نمایش داده شده است).

2. استقلال یا خوداجرایی: کامپوننت هایی که قابل ترکیب هستند باید بتوانند به صورت مجزا از یکدیگر عمل کنند. هر قرارداد هوشمند در اتریوم، به صورت خودمختار اجرا میشود و میتواند بدون نیاز به بقیه المان های سیستم کار کند.

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

مزایای ترکیب پذیری

چرخه توسعه کوتاه تر

در زمان تولید اپلیکیشن های غیرمتمرکز (یا dapp ها) ترکیب پذیری می تواند باعث کاهش حجم کار توسعه دهنده های نرم‌افزار شود. همانطور که Naval Ravikant می گوید:(opens in a new tab) "متن باز یعنی هر مشکلی فقط باید یکبار حل شود."

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

نوآوری بیشتر

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

تجربه کاربری بهتر

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

به منظور نمایش مزایای قابلیت های ارتباط گیری بین اجزای مختلف، مثالی از یک آربیتراژ را استفاده خواهیم کرد:

اگر توکنی در صرافی A قیمتی بیش از صرافی B داشته باشد، از این تفاوت قیمت میتوان برای کسب سود استفاده کرد. با این حال، تنها در زمانی میتوانید این کار رانجام دهید که سرمایه لازم برای اجرای تراکنش مورد نیاز را داشته باشید ( خرید توکن از صرافی B و فروش در صرافی A).

در زمانی که سرمایه لازم برای انجام این ترید را نداشته باشید، استفاده از وام سریع یا همان flash loan گزینه ای ایده آل به حساب می آید. وام های سریع مفهومی بسیار تکنیکال دارند، اما اگر بخواهیم به صورت ساده بگوئیم، ایده کلی به این صورت است که بدون نیاز به هیچ گونه گروگذاری یا داشتن سرمایه اولیه، می توان دارایی مورد نظر را قرض گرفت و البته که باید بازگشت وام، <0>در همان تراکنش</0> صورت بگیرد.

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

مثال‌هایی از ترکیب پذیری در اتریوم

معاوضه توکن‌ها

اگر اپلیکیشن غیر متمرکزی بسازید که نیازمند پرداخت به تراکنش ها با اتر باشد، میتوانید از طریق یکپارچه سازی آن با منطق معاوضه توکن ها، قابلیت پرداخت با سایر توکن های ERC20 را برای کاربران فراهم کنید. این کد، پیش از اینکه تابع مورد نظر را اجرا کند، توکن کاربر را به صورت خودکار به اتر (ETH) تبدیل میکند.

حکومت

ساخت یک سیستم حاکمیتی سفارشی برای یک DAO می تواند بسیار هزینه و زمان بر باشد. به جای آن، می توانید از یک تولکیت یا مجموعه ابزار متن باز حاکمیتی، مثل Aragon Client(opens in a new tab) استفاده کنید تا DAO خود را گسترش داده و به سرعت هر چه تمامتر یک چارچوب حاکمیتی بسازید.

مدیریت هویت

به جای ساختن یک سیستم احراز هویت و یا تکیه بر سرویس دهنده های متمرکز، می توانید ابزارهای هویت غیرمتمرکز (DID) را برای مدیریت احراز هویت کاربران با سیستم خود یکپارچه سازی و استفاده کنید. نمونه ای از این ابزارها، SpruceID(opens in a new tab) است که قابلیت "ورود با اتریوم" را ارئه میدهد که با استفاده از آن کاربران میتوانند عملیات احراز هویت خود را با کیف پول اتریومی انجام دهند.

  • رابط کاربری اپلیکیشن غیرمتمرکز خود را به سرعت با create-eth-app ایجاد کنید- نمای کلی نحوه استفاده از create-eth-app برای ساخت اپلیکیشن ها که قراردادهای هوشمند نیز در آنها قابل استفاده هستند.

اطلاعات بیشتر

آیا منبعی اجتماعی می‌شناسید که به شما کمک کرده باشد؟ این صفحه را ویرایش کنید و آن را اضافه کنید!

آیا این مقاله مفید بود؟