مؤسسه کوینکس: رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko  در برابر رابط برنامه‌نویسی نرم‌افزار کاربردی CoinMarketCap

مؤسسه کوینکس: رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko در برابر رابط برنامه‌نویسی نرم‌افزار کاربردی CoinMarketCapمقدمه:در بازار رمزارز، رابط‌های برنامه‌نویسی نرم‌افزارهای کاربردی (APIها) به عنوان ابزاری قدرتمند برای تسهیل ارتباطات میان خدمات و نرم‌افزارهای کاربردی مختلف مورد استفاده قرار می‌گیرند. APIهایی با نام‌های CoinGecko و CoinMarketCap در واقع دو تامین‌کننده داده رمزارز اصلی و بزرگ محسوب می‌شوند. برخلاف APIهای ارائه شده توسط صرافی‌ها که تمرکز اصلی آنها به سمت معاملات معطوف شده، CoinGecko و CoinMarketCap اطلاعات و داده‌های جامع‌تر و متنوع‌تری را ارائه می‌کنند. از آنها می‌توان برای انجام معاملات کمی، داده‌کاوی، و مقایسات مقطعی استفاده کرد. در این مقاله، برای شرح مقدماتی مبحث مورد نظر از این دو غول یکپارچه‌سازی داده‌های کوین (به همراه بکارگیری پایتون به عنوان زبان اصلی) به عنوان نمونه استفاده شده است. در اینجا همچنین به منظور درک هرچه بهتر تفاوت‌ها، مزایا و معایب موجود، دو API مد نظر با یکدیگر مقایسه می‌شوند.رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko:مستندات این API به شرح ذیل است:رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko مواردی نظیر: قیمت زنده و لحظه‌ای، داده‌های تاریخی و قدیمی، حجم معاملات و معاملات زوجی صرافی‌ها، و دیگر انواع داده‌ها را تامین می‌کند. این API به 5 دسته تقسیم شده که هر یک از آنها برحسب زمان پاسخ به تقاضا، دقت داده‌ها، عمق داده‌ها، و سفارشی‌سازی فرآیند شخصی‌سازی دربرگیرنده سطوح مختلفی از قیمت‌ها و کیفیت خدمات هستند. هزینه ماهیانه مربوط به بسته‌های سفارشی‌ در محدوده 100 دلار تا 800 دلار قرار دارد. با این وجود به دلیل محدود بودن بودجه در این مقاله تنها بر نسخه دسترس‌پذیر عمومی مقدماتی تمرکز شده است.https://www.coingecko.com/en/api/documentationمستندات فوق برای CoinGecko API V3ارائه شده که دربرگیرنده داده‌های حجم و قیمت، اطلاعات پس‌زمینه‌ای، اطلاعات صرافی‌ها، و ویژگی جدید برای پیگیری و ردیابی NFT است.زبان‌های مورد استفاده و پشتیبانی‌شدهCoinGecko از طیف گسترده‌ای از زبان‌های برنامه‌نویسی نظیر: NodeJs، Go، .Net، پایتون، جاوا، کاتلین، گوگل شیت، Cryptosheets، PHP، و افزونه وردپرس استفاده و پشتیبانی می‌کند. در نسخه رایگان CoinGecko نیاز به ثبت‌نام وجود ندارد و کاربر می‌تواند مستقیماً کتابخانه تامین شده توسط پروژه مورد نظر را فرا بخواند.تمرین عملیبه منظور نصب کردن کتابخانه پایتون ترمینال مورد نظر از دستور ذیل استفاده کنید:pip install pycoingeckoپس از نصب می‌توان با استفاده از دستور pip show pycoingecko از نصب صحیح کتابخانه مورد نظر اطمینان حاصل کرد. این دستور در حقیقت وابستگی (در اینجا یعنی همان «درخواست‌ها») را برای کتابخانه نمایش می‌دهد. درخواست‌ها مؤلفه‌ای مهم از وب اسکرپینگ محسوب می‌شوند. کاربر می‌تواند با استفاده از درخواست‌ها جستجوی خزشی اطلاعات مورد نظر را با بکارگیری کد خود از CoinGecko انجام دهد. با این وجود API مورد نظر روشی مستقیم و ساده‌تر را برای کاربران فراهم می‌آورد.کاربر قادر است با استفاده از آناکوندا به صورت دستی کتابخانه مربوطه را به محیط ترجیحی خود اضافه کند. این فرآیند خارج از محدوده این مقاله است لذا بیش از این در مورد آن توضیح داده نمی‌شود.پس از وارد کردن رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko، دسترسی به آن امکان‌پذیر می‌شود. معمولاً از cg به عنوان نام مستعار و اختصاری برای وابستگی مورد نظر استفاده می‌شود.from pycoingecko import CoinGeckoAPIcg = CoinGeckoAPI()به منظور بررسی وضعیت API مورد نظر می‌توان از تابع پینگ استفاده کرد:پس از دریافت پاسخی مشابه «پیش به سوی ماه!» از CoinGecko و حصول اطمینان از فعال و عملیاتی بودن API مورد نظر می‌توان داده‌های قیمت پایه را بازیابی کرد. به عنوان مثال اتریوم را در نظر بگیرید:به منظور بازیابی قیمت‌ها به دو متغیر ضروری نیاز است: نام توکن و زوج معاملاتی مورد پشتیبانی. این دو متغیر را می‌توان به صورت جداگانه با استفاده از:cg.get_coins_list()و cg.get_supported_vs_currencies()بدست آورد.پس از اجرای برنامه مورد نظر می‌توان ارزش کنونی و لحظه‌ای اتریوم را به دلار آمریکا را بدست آورد.cg.get_price(ids='ethereum', vs_currencies='usd')کاربر می‌تواند با وارد ساختن چندین ID مختلف قیمت‌های مربوط به چندین توکن را بازیابی کند.داده‎های مربوط به تغییرات حجم: تابع get_price علاوه بر قیمت قابلیت بازیابی ارزش بازار، حجم 24 ساعته، تغییر قیمت 24 ساعته، و برچسب زمانی را نیز دارد.cg.get_price(ids='ethereum',vs_currencies='usd',include_market_cap='true',include_24hr_vol='true',include_24hr_change='true',include_last_updated_at='true')داده‌های تاریخی و قدیمی: علاوه بر در اختیار داشتن داده‌های زنده و لحظه‌ای با استفاده از تابع «History» می‌توان داده‌های تاریخی و قدیمی را نیز بازیابی کرد:cg.get_coin_history_by_id(id='ethereum',date='01-01-2023', localization='false')علاوه بر داده‌های قیمت، دستیابی به داده‌هایی نظیر: داده‌های جامعه، داده‌های طراح و توسعه‌دهنده، و داده‌های عمومی مرور مطالب اینترنت نیز امکان‌پذیر است. در صورت نیاز به بازیابی داده‌های تاریخی 24 ساعته می‌توان از دستور ذیل استفاده کرد:cg.get_coin_market_chart_by_id(id='etherum',vs_currency='usd',days='3')در قسمت فوق کاربرد ابتدایی و ساده رابط برنامه‌نویسی نرم‌افزار کاربردی CoinGecko شرح داده شد. به منظور دستیابی به کاربردهای پیشرفته API مورد نظر می‌توان از دیگر نرم‌افزار یا کتابخانه‌های موجود در کنار آن استفاده کرد و به اهداف مختلفی دست یافت. API مربوطه ابزاری ارزشمند برای کار و مطالعه و پژوهش محسوب می‌شود.رابط برنامه‌نویسی نرم‌افزار کاربردی CoinMarketCap (CMC)مستندات APIدر مقایسه با CoinGecko، CMC به دلیل تعصب و جهت‌گیری‌اش نسبت به صرافی بایننس مورد انتقاد قرار گرفته است. البته لازم به ذکر است که CMC در مقایسه با CoinGecko کارمزد کمتری دریافت می‌کند. با این حال بدیهی است که اکثر قابلیت‌ها و ویژگی‌ها تنها در خدمات خریداری شده با پرداخت هزینه‌ای معین دسترس‌پذیر هستند. نسخه متن باز رایگان رابط برنامه‌نویسی نرم‌افزار کاربردی CMC داده‌های محدودی را در اختیار کاربر قرار می‌دهد. لازم به ذکر است حجم و دقت داده‌های این نسخه رایگان قادر به برآورده کردن تقاضاهای تجاری یا آموزشی نیست.زبان‌های مورد استفاده و پشتیبانی‌شدهCMC از زبان‌های برنامه‌نویسی نظیر: NodeJS، PHP، پایتون، روبی، Objective-C، جاوا (اندروید)، C# (.NET)، و Curl استفاده و پشتیبانی می‌کند.تمرین عملیثبت‌نام: به منظور استفاده از CMC API PRO باید از طریق ثبت‌نام و وارد شدن به وبسایت CMC کلید API را بدست آورد. سپس باید برای کپی کردن کلید API کلیک کرد.https://pro.coinmarketcap.com/accountدسترسی به رابط برنامه‌نویسی نرم‌افزار کاربردی CMC از دو طریق امکان‌پذیر است: از طریق درخواست‌ها یا کتابخانه رسمی.کاربر به منظور نصب کتابخانه مورد نظر باید از دستور pip install python-coinmarketcap استفاده کند. در اینجا، فرآیند مورد نظر در حالت جعبه شنی نشان داده می‌شود. برای این منظور فقط کافی است cmc=CoinMarketCapAPI() را تعریف کرده تا در ادامه سیستم به طور پیش‌فرض در حالت جعبه شنی قرار گیرد یا کلید API را وارد نمایید تا وارد حالت Pro شوید.کاربر به منظور بازیابی اطلاعات دارایی پس از وارد کردن کتابخانه CMC باید از دستور cryptocurrency_info() موجود درون رابط برنامه‌نویسی نرم‌افزار کاربردی مربوطه استفاده کند. در اینجا از سولانا برای ارائه یک مثال استفاده می‌شود:مقادیر بازگشتی متناظر با کارآیی‌های مختلف در قالب واژه‌نامه، اعداد صحیح، رشته، یا مقادیر بولی بدست می‌آیند. این طراحی یک مزیت عالی برای طراحان و توسعه‌دهندگان محسوب می‌شود.به منظور بازیابی اطلاعات توکن: می‌توان از دستور _listings_latest() برای بازیابی جدیدترین و آخرین اطلاعات توکن استفاده کرد. پاسخ دریافتی در قالب فرهنگ لغات دربرگیرنده ID، نام، نماد، رتبه CMC، عرضه در گردش، عرضه کل، تاریخ افزوده شدن، و آخرین به‌روزرسانی ارائه می‌شود.به منظور جستجو کردن برای اطلاعات بلادرنگ و لحظه‌ای توکن معین می‌توان یک نماد تعیین یا از اسلاگ استفاده کرد.به منظور دستیابی به اطلاعات قیمت و حجم از دستور cryptocurrency_ohlcv_latest（） موجود درون API استفاده کنید. در صورت استفاده از دستور فوق، یک ID یا نماد باید تعیین شود. به منظور تعیین زوج معاملات می‌توان از دستور convert_id استفاده کرد. پیش‌فرض دلار آمریکا است.دیگر ویژگی‌ها: لازم به ذکر است که CMC نیز تابعی برای جستجوی ایردراپ‌ها برای کاربران فراهم می‌آورد. در اینجا از SOL به عنوان یک مثال استفاده می‌شود. لطفاً توجه فرمایید که متغیر ID باید تعیین شود. API با داده‌هایی نظیر: تاریخ شروع، جایزه کل، و شمارش برنده پاسخ می‌دهد:رابط برنامه‌نویسی نرم‌افزار کاربردی CMC طیف گسترده‌ای از توابع را ارائه کرده که به تبع آن کاربران قادر هستند اطلاعات سفارشی‌سازی، تحلیل درون زنجیره‌ای، قیمت و حجم، توکن، و صرافی را بازیابی کنند. به منظور دستیابی به اطلاعات بیشتر لطفاً به مستندات مربوط به Pypi مراجعه کنید.https://pypi.org/project/python-coinmarketcap/در قسمت ذیل چندین ابعاد برای مقایسه دو API مورد نظر با حداکثر 5 امتیاز ارائه شده است:واضح است که CMC بیشتر بر فراهم‌آوردن تجربه‌ای بهتر برای طراحان و توسعه‌دهندگان تمرکز کرده و مزیت CoinGecko نیز در تنوع داده‌ها و برنامه‌ریزی برای آینده نهفته است. هر دو API دارای نقاط قوت معینی هستند. کاربران علاوه بر این دو محصول پیشرو، انتخاب‌های دیگری نظیر: کیف پول‌های بلاک چین و Coinsfera نیز در اختیار دارند. البته لازم به ذکر است که CMC و CoinGecko تاکنون سهم عمده‌ای از بازار مورد نظر را تصاحب کرده و از مزیت پیشگام و پیشرو بودن برخوردار هستند. با توجه به این شرایط آنها به معتبرترین و مشهورترین پروژه‌ها تبدیل شده‌اند. به همین دلیل تازه‌واردها به سختی قادرند به موقعیت کنونی آنها رسیده یا از آنها سبقت بگیرند. انتظار می‌رود که همزمان با توسعه این دو پروژه APIهای پایدارتر، کارآمدتر و باکیفیت‌تر به بازار داده افزوده شوند.