اعلان‌ها

آیا می‌خواهید همه‌ی اعلان‌ها را از لیست حذف کنید؟


پشتیبانی‌بیت 24

ارسال پیام به پشتیبانی

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

متن ارور

متن ارور

متن ارور

متن ارور

اولویت:

ورود و ثبت نام

آموزش سایت Dune Analytics؛ یک ابزار عالی برای تحلیل داده بلاک چین

4
تاریخ انتشار : ۱۴۰۳/۰۱/۰۵
آخرین بروزرسانی : ۱۴۰۲/۱۲/۲۸
آموزش سایت Dune Analytics؛ یک ابزار عالی برای تحلیل داده بلاک چین
حدود 10 دقیقه بهاره رضاجو

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

سایت Dune Analytics چیست و چه ویژگی‌هایی دارد؟

سایت دون آنالیتیکس (Dune Analytics) یک پلتفرم مبتنی بر وب ۳ و یکی از بهترین سایت های تحلیل ارز دیجیتال است که به کاربران امکان می‌دهد داده‌های موردنظرشان را از بلاک چین‌های عمومی پرس و جو (Query) و استخراج کنند و یک نمایش گرافیکی از آنها ارائه دهند.

در ابتدا وبسایت دیون آنالیتیکس روی شبکه اتریوم متمرکز بود؛ اما اکنون کاربران می‌توانند به تجزیه‌وتحلیل و به‌اشتراک‌گذاری داده‌ها از شبکه‌های دیگری نظیر بیت کوین، اتریوم، پالیگان، بایننس چین، فانتوم، اپتیمیسم، اولنچ، سولانا و نوسیس بپردازند. برخی از مهم‌ترین ویژگی‌های پلتفرم Dune Analytics عبارت‌اند از:

  • جامعه‌محور بودن: دیون آنالتیکس یک پلتفرم جامعه‌محور است؛ به این معنا که هرکسی می‌تواند نمایش گرافیکی از داده‌ها و داشبوردهای شخصی خودش را ایجاد کرده و به اشتراک بگذارد. به همین دلیل، Dune Analytics یک ابزار فوق‌العاده و چندمنظوره برای هر کسی است که می‌خواهد درباره اکوسیستم بلاک چین آموزش ببیند.
  • رایگان بودن: استفاده از این پلتفرم کاملاً رایگان است؛ بااین‌حال، محدودیت‌هایی برای استفاده از API وجود دارد. همه داشبوردها و پرسش‌هایی که کاربران منتشر کرده‌اند، به‌جز موارد خصوصی، به‌طور رایگان در دسترس همه قرار دارد.
  • استفاده آسان: استفاده از دون آنالیتیکس حتی برای مبتدیان آسان است. این پلتفرم دارای یک رابط کاربرپسند و زبان پرس و جو قدرتمند است که کاوش و تجزیه و تحلیل داده‌های بلاک چین را آسان می‌کند.
  • قدرتمند بودن: دون آنالیتیکس ابزاری قدرتمند است که می‌توان از آن برای ردیابی عملکرد پروتکل‌های دیفای، تجزیه و تحلیل داده‌های فروش NFT، نظارت بر فعالیت نهنگ‌ها و سرمایه‌گذاران نهادی و کاوش در داده‌های زنجیره‌ای هر پروژه بلاک چین استفاده کرد.

تیم پشت پروژه دون آنالیتیکس چه کسانی هستند؟

وب سایت Dune Analytics را فردریک هاگا (Fredrik Haga) و متس اولسن (Mats Olsen) در سال ۲۰۱۸ در شهر اسلو در نروژ تأسیس کردند. پس از جمع‌آوری ۶۹.۴۲ میلیون دلار در دور سرمایه‌گذاری سری B، تیم کلمه Analytics را کنار گذاشت و نام برند خود را به تک کلمه Dune تبدیل کرد. سرمایه‌گذارانی از جمله مالتی کوین کپیتال (Multicoin Capital) و دراگون فلای کپیتال (Dragonfly Capital) در این دور سرمایه‌گذاری شرکت کردند و ارزش دون آنالیتیکس را به ۱ میلیارد دلار رساندند.

با دون آنالیتیکس چه کارهایی می‌توان انجام داد؟

  • پیگیری عملکرد پروتکل‌های دیفای
  • تجزیه و تحلیل داده‌های مربوط به فروش NFTها
  • نظارت بر فعالیت صرافی‌های غیرمتمرکز
  • کاوش و تحلیل داده‌های آنچین از پروژه‌های بلاک چینی عمومی.

به‌طور کلی، سایت Dune Analytics داده‌های آنچین مانند کارمزد تراکنش‌ها، آدرس‌های ارسال و دریافت و اندازه بلاک‌ها را به اطلاعات قابل خواندن برای انسان تبدیل می‌کند.

تحلیل دیتای آنچین با سایت دون آنالیتیکس

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

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

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

سایت Dune Analytics چطور کار می‌کند؟

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

تمام این اطلاعات به‌صورت رایگان در دسترس است. فقط کافی است یک حساب کاربری ایجاد کنید. در این لایه می‌توانید از قابلیت‌های زیر بهره‌مند شوید:

  • جستجوی پرس و جوها
  • نوشتن پرس و جوی جدید
  • ایجاد نمایش‌های گرافیکی و داشبوردها.

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

اطلاعات بلاک‌ها با چند دقیقه تأخیر تجزیه می‌شوند و در پایگاه داده Dune قرار می‌گیرند. علاوه بر بلاک‌ها و تراکنش‌های خام، Dune اطلاعاتی درباره قیمت دارایی‌ها و جدول‌های تخصصی نیز دارد.

حالا بیایید با نحوه استفاده از Dune بدون نوشتن حتی یک خط کد آشنا شویم و سپس نگاهی به مبانی SQL بیندازیم. این راهنما مبانی پرس و جو، استخراج و نمایش گرافیکی در دون آنالیتیکس را پوشش می‌دهد تا شما بتوانید به یک تحلیلگر بلاک چین تبدیل شوید. حتی اگر قبلاً از SQL استفاده نکرده‌اید، با مثال‌هایی که به شما ارائه می‌دهیم، می‌توانید روش کار را به‌خوبی یاد بگیرید.

نحوه اجرای عملیات پرس و جو در Dune Analytics

ابتدا باید در این وب‌سایت یک حساب کاربری ایجاد کنید. پس از ایجاد حساب، صفحه اصلی (Home) شبیه تصویر زیر است:

صفحه اصلی دون آنالیتیکس

صفحه اولی که می‌بینید، فهرستی از داشبوردهای رایج و محبوب را نشان می‌دهد. داشبوردها مجموعه‌ای از پرس و ‌جوها و نمودارهای ترسیم‌شده هستند که سایر کاربران آنها را ایجاد کرده‌اند؛ هریک از آنها معمولاً درباره موضوعات خاصی است.

داشبوردهای متنوعی برای بررسی وجود دارد که بیشتر درباره موضوعات مربوط به پروژه‌های محبوب حوزه دیفای (DeFi)، حجم معاملات صرافی‌های غیرمتمرکز (DEX)، استفاده از گس در تراکنش‌های اتریوم و بسیاری موارد دیگر ایجاد شده‌اند.

می‌توانید برای داشبوردهای یک پروژه خاص، در نوار جستجوی سمت راست جستجو کنید. اگر داشبورد مرتبطی را در بخش داشبوردهای محبوب پیدا نمی‌کنید، اطمینان حاصل کنید که گزینه داشبوردها روی «همه داشبوردها (All Dashboards)» قرار داشته باشد. در غیر این صورت، جستجو در این بخش فقط از فهرست محدودی که انتخاب کرده‌اید صورت می‌گیرد:

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

اگر داشبورد خود را پیدا نمی‌کنید، گزینه All Dashboards را انتخاب کنید.

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

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

در اینجا می‌توانید Edit Query را برای نمایش پرس و جو یا انجام دستکاری‌های جزئی در همان جا انتخاب کنید، یا اینکه گزینه fork را برای کپی‌کردن پرس و جو به فضای کاری خودتان انتخاب کنید. در فضای کار خودتان می‌توانید ویرایش انجام دهید، تغییرات را ذخیره کنید یا نمودارهای جدیدی ایجاد کنید:

مثالی از گراف انتخاب شده از یک داشبورد

جستجوی پرس و جوها در سایت Dune Analytics

درست مانند جستجوی داشبوردها، می‌توانید از نوار بالا Queries را انتخاب کنید تا به‌دنبال پرس و جوی خاصی بگردید:

انتخاب کوئری از نوار بالا

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

اگر باز هم چیزی را که می‌خواهید پیدا نکردید، زمان آن است که خودتان دست به کار شوید و با SQL کار کنید.

نوشتن پرس و جوها

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

در چنین شرایطی، دون آنالیتیکس از زبان پرس و جوی استاندارد PostgreSQL استفاده می‌کند. نگران نباشید؛ این زبان برای نوشتن برخی پرس و جوهای پایه آسان است؛ بنابراین حتی اگر قبلاً SQL ننوشته‌اید، باز هم می‌توانید از آن استفاده کنید.

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

ایجاد یک کوئری خالی

برای ایجاد یک پرس و جوی جدید، گزینه New Query را از گوشه بالا سمت چپ انتخاب کنید. صفحه زیر را خواهید دید:

قسمتی از نمای یک پرس و جوی جدید

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

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

  • transactions: برای تمام تراکنش‌های اتریوم
  • ethereum.logs: برای لاگ‌های رویدادهای اتریوم که قراردادها آنها را منتشر می‌کنند
  • erc20.ERC20_evt_Transfer: تمام رویدادهای انتقال که هنگام ارسال توکن‌ها منتشر می‌شوند
  • prices.layer1_usd: یک جدول قیمت برای ETH و بسیاری از توکن‌های محبوب دیگر، که دقت آن در حد دقیقه است.

پرس و جوی اول

هر پرس و جو با یک سؤال تحقیقاتی شروع می‌شود. اولین گام این است که همیشه باید آنچه را می‌خواهیم بدانیم به‌وضوح تعریف کنیم. به‌عنوان یک مثال ساده، فرض کنیم می‌خواهیم درباره ۵ تراکنش اخیر اتریوم اطلاعاتی کسب کنیم.

طبیعتاً پاسخ این پرس و جو در جدولی است که تمام تراکنش‌های اتریوم را مرتب کرده است. بنابراین با جستجوی جدول در فیلد جستجو شروع می‌کنیم. در این مورد، جستجوی transaction، فهرست همه جدول‌های مرتبط با آن را نشان می‌دهد که می‌توانیم ethereum.transactions را از بین آنها انتخاب کنیم.

با کلیک روی جدول در فهرست نشان‌داده‌شده، تمام ستون‌های موجود در آن جدول را خواهیم دید. در این مورد، از جدول ethereum.transactions و ستون‌های آن مانند hash ،index ،gas_price و غیره استفاده می‌کنیم.

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

کلیک روی فلش دوقلو برای کپی کردن نام پرس و جو

روی فلش دوقلو دوبار کلیک کنید، نام آن کپی می‌شود.

محدود کردن نتایج قابل‌نمایش

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

برای مثال، بنویسید: select * from ethereum.”transactions” limit 5

سپس دکمه execute (یا control + enter) را فشار دهید تا پرس و جو اجرا شود:

نتیجه اجرای یک کوئری ساده

اگر به‌جای جدیدترین تراکنش‌ها (در این مثال، اولین تراکنش‌های اتریوم) قدیمی‌ترین آنها را نیاز دارید، پرس و جو را در یکی از ستون‌ها به ترتیبِ نزولی مرتب کنید. در این مورد، زمان بلاک یا شماره بلاک می‌تواند انتخاب خوبی باشد. بنویسید:

select * from ethereum.”transactions”order by block_time desc limit 5

نتایج مرتب شده از تراکنش‌های اتریوم

اکنون ما ۵ تراکنش از آخرین بلاک را داریم. جدول‌ها آنی نیستند؛ بنابراین، یک تأخیر بین زمانی که یک بلاک ایجاد می‌شود و به جدول‌ها اضافه می‌شود، وجود دارد.

توصیه می‌کنیم که مرتباً پرس و جوها را ذخیره کنید؛ به‌ویژه زمانی که یک پرس و جوی پیچیده می‌نویسید. برای این کار از Ctrl+S / Cmd+S استفاده کنید.

نحوه نمایش گرافیکی داده‌ها در دون آنالیتیکس

علاوه بر ذخیره داده‌ها، سایت Dune Analytics روشی قدرتمند برای نمایش گرافیکی آنها ارائه می‌کند. برای این مثال، نگاهی به یک پرس و جوی کمی پیچیده‌تر می‌اندازیم. ما می‌خواهیم ارزش کل ETH ارسالی در هر روز را در ۱۰ روز گذشته بدانیم. این مثال، فیلتر کردن و گروه‌بندی کردن داده‌ها بر اساس زمان را هم به شما نشان خواهد داد.

پرس و جو برای دریافت داده‌ها را می‌توانیم به این شکل بنویسیم:


select date_trunc(‘day’, block_time) as “Date”, sum(value/1e18) as “Value”

from ethereum.”transactions”

where block_time > now() — interval ’10 days’

group by 1 order by 1

حال بیایید آن را تجزیه و تحلیل کنیم:

  • date_trunc(‘day’, block_time): ما نیازی به انتخاب تمام ستون‌های موجود در جدول نداریم، بلکه فقط آنهایی را که نیاز داریم، انتخاب می‌کنیم. در این مورد، به‌دنبال زمان بلاک و ارزش ETH ارسال شده هستیم. block_time به فرمت تایم‌استامپ یونیکس است؛ اما ما فقط با بخش «روز» آن کار داریم، بنابراین بقیه داده‌ها را حذف می‌کنیم.
  • as “Date: این گزینه یک نام مستعار برای ستون ارائه می‌دهد. این مورد ضروری نیست، ولی نتایج را خواناتر می‌کند و البته نمودارها به‌طور خودکار برچسب‌های بهتری خواهند داشت.
  • sum(value/1e18): از آنجا که ما در حال خلاصه کردن تمام ETH‌های ارسالی هستیم، از تابع SUM برای تجمیع داده‌ها استفاده می‌کنیم. تعداد رقم‌های اعشار ETH با دقت ۱۸ رقم است؛ در نتیجه، عدد را بر 1e18 تقسیم می‌کنیم تا مقدار را در قالب ETH مشاهده کنیم نه در قالب وی (Wei).
  • where block_time > now() — interval ’10 days’: فقط زمان‌های بلاک ۱۰ روز گذشته را در نظر می‌گیرد. این باعث می‌شود اجرای پرس و جو بسیار سریع‌تر شود.
  • group by 1 order by 1: منظور از ۱ در اینجا، یعنی اولین ستونی است که انتخاب کردیم (date_trunc). همان‌طور که گفتیم، نتایج را بر اساس تاریخ گروه‌بندی و مرتب می‌کنیم. از آنجا که داده‌ها را در هر روز گروه‌بندی می‌کنیم، باید برای تمام ستون‌های دیگری که انتخاب می‌کنیم از یک تابع تجمیع‌کننده استفاده کنیم. در این مورد، SUM مناسب است؛ اما می‌توانستیم از MAX، MIN، AVG یا هر تابع تجمیع‌کننده دیگری، بسته به نیازهای خود استفاده کنیم.

اجرای پرس و جو، فهرستی از تاریخ‌ها و مجموع ETH منتقل شده در طول این روزها را نشان خواهد داد.

اکنون می‌خواهیم این داده‌ها را به نمودار تبدیل کنیم. New Visualization را انتخاب کنید تا به منوی نمایش گرافیکی بروید.

نمایش گرافیکی جدید

این گزینه منوی زیر را باز می‌کند:

منوی نمایش گرافیکی دون آنالیتیکس

چندین نوع نمایش گرافیکی برای انتخاب وجود دارد. برای ترسیم یک نمودار ساده احتمالاً Chart مفیدترین آنهاست؛ اما مواردی مانند Counter برای نمایش داده تکی، جداول پیوت و گزینه‌های دیگری هم وجود دارد. در مثالی که زدیم، می‌خواهیم مجموع ETH ارسالی را بر حسب تاریخ به صورت نمودار درآوریم. محورهای X و Y را به‌طور مناسب انتخاب می‌کنیم:

انتخاب محورهای مختصات

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

انجام پرس و جوهای پیشرفته‌تر در سایت Dune Analytics

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

جدول ethereum.transactions حاوی داده‌های قیمت نیست. خوشبختانه دون آنالیتیکس داده‌های قیمت را، بر اساس هر دقیقه، برای انبوهی از دارایی‌ها فراهم می‌کند.

برای ایجاد جدول، کافی است داده‌های دو جدول Transactions و Prices را با هم ادغام (JOIN) کنیم:


with txs as (select block_time, value, price

from ethereum.”transactions” e

join prices.”layer1_usd” p

on p.minute = date_trunc(‘minute’, e.block_time)

where block_time > now() — interval ’10 days’

and symbol = ‘ETH’

)select date_trunc(‘day’, block_time) as “Date”, sum(value * price / 1e18) as “Value” from txs

group by 1 order by 1

حال بیایید خط به خط آن را تجزیه و تحلیل کنیم:

ابتدا، یک جدول کمکی جدید با تمام داده‌های موردنیاز ایجاد می‌کنیم. این جدول جدید، بعداً در تجمیع داده‌ها به ما کمک می‌کند.

  • with txs as: یک جدول جدید به نام txs از داده‌ها ایجاد می‌کند.
  • from ethereum.”transactions” e: داده‌ها را از جدول ethereum.transactions می‌گیرد و به آن جدول، نام مستعار «e» را منتسب می‌کند.
  • join prices.”layer1_usd” p: این جدول را با جدول قیمت‌ها ادغام می‌کند و به آن نام مستعار p می‌دهد. نتیجه عملیات ادغام، یک جدول با یک ستون از هر دو جدول ترکیب‌شده است.
  • on p.minute = date_trunc(‘minute’, e.block_time): برای عملیات ادغام باید مشخص کنیم که می‌خواهیم ادغام بر اساس کدام ستون انجام شود. در این مورد، قیمت‌ها فقط در هر دقیقه ثبت می‌شوند، بنابراین می‌خواهیم داده‌ها را با دقیقه‌ای که بلاک ایجاد شده است ادغام کنیم. این باعث می‌شود یک ورودی برای هر تراکنش داشته باشیم که شامل داده‌های اضافی از جدول قیمت‌ها نیز هست.
  • ‘where block_time > now() — interval ’10 days: این خط، فقط داده‌های ۱۰ روز گذشته را در نظر می‌گیرد.
  • and symbol = ‘ETH’: جدول قیمت‌ها، شامل قیمت بسیاری از توکن‌ها است؛ بنابراین این خط، باعث می‌شود فقط قیمت ETH در جدول نشان داده شود.
  • select date_trunc(‘day’, … as “Value” from txs: همان‌طور که مشاهده می‌کنید، ما همان پرس و جوی قبلی را اجرا می‌کنیم؛ اما این بار مقدار ETH را در قیمت ضرب می‌کنیم. داده‌هایی که نیاز داریم، در جدول txs موجود هستند.

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

نمودار ارزش دلاری اتریوم

نحوه ساخت یک داشبورد جدید در Dune Analytics

حالا دو نمودار داریم که می‌توانیم آنها را در یک داشبورد جمع‌آوری کنیم. ابتدا روی Create و سپس روی New Dashboard کلیک می‌کنیم و برای داشبورد، یک نام معنادار برمی‌گزینیم:

ساخت داشبورد جدید

اگر بخواهیم ویجت‌هایی را اضافه کنیم، این کار با دکمه Add Widget در پنل داشبورد یا دکمه Add to Dashboard در هر نمایش گرافیکی در هر پرس و جو امکان‌پذیر است:

مثالی از یک داشبورد ساده

نگاهی به آدرس‌ها

حالا بیایید ببینیم چطور می‌توان رویدادهای مرتبط با آدرس‌های خاصی را پیدا کرد. برای مثال، می‌خواهیم مقادیر ETH را که از آدرس‌های مرتبط با Vitalik Buterin، هم‌بنیانگذار اتریوم، منتقل شده‌اند، مشاهده کنیم. برای این کار، پرس و جو را کمی تغییر می‌دهیم:


with txs as (select block_time, value, price

from ethereum."transactions" e

join prices."layer1_usd" p

on p.minute = date_trunc('minute', e.block_time)

and ("from"='\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6'

or "from"='\xAb5801a7D398351b8bE11C439e05C5B3259aeC9B')

and p.symbol = 'ETH'

)select date_trunc('month', block_time) as "Date", sum(value * price / 1e18) as "Value" from txs

group by 1 order by 1

این تقریباً همان پرس و جوی قبلی است، با این تفاوت که اکنون یک فیلتر روی ستون from اضافه کرده‌ایم. به فرمت آدرس توجه کنید؛ این آدرس باید با \\x شروع شود، نه با 0x که احتمالاً در اکسپلورر بلاک چین پیدا می‌شود. این یک خطای بسیار رایج هنگام کار با آدرس‌ها در دون آنالیتیکس است؛ بنابراین به آن توجه ویژه‌ای داشته باشید.

سخن پایانی

در این مطلب، با سایت Dune Analytics آشنا شدیم. همان‌طور که گفتیم، تجزیه و تحلیل دیتای آنچین با سایت دون آنالیتیکس بسیار آسان است و حتی مبتدیان هم می‌توانند از آن برای پرس و جو، استخراج و نمایش گرافیکی داده‌های بلاک چین استفاده کنند. سپس با ویژگی‌های این سایت آشنا شدیم و با مثال‌هایی کاربردی، یاد گرفتیم که چطور از آن استفاده کنیم.

آیا قبلاً از وبسایت دیون آنالیتیکس استفاده کرده‌اید؟ اگر نه، آیا مثال‌های این مقاله به‌اندازه کافی روشن و گویا بودند؟ لطفاً دیدگاه‌هایتان را با ما به اشتراک بگذارید.

تهیه شده در بیت ۲۴

از 1 تا 5 چه امتیازی به این مطلب میدهید؟

  • 1
  • 2
  • 3
  • 4
  • 5

از امتیازدهی شما سپاسگزاریم. اگر این مطلب برای شما مفید بوده است، با نوشتن نظر خود درباره آن یا اشتراک‌گذاری مقاله با دوستانتان، ما را همراهی کنید.

نظر خود را بنویسید

پیام شما ثبت شد و بعد از تایید مدیر منتشر خواهد شد

کپچا

اشتراک گذاری

share

آموزش سایت Dune Analytics؛ یک ابزار عالی برای تحلیل داده بلاک چین

لینک کپی شد !

https://bit24.cash/blog/dune-analytics/