میهن بلاکچین
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
  • نشان‌شده‌ها
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
  • نشان‌شده‌ها
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین آموزش مقالات عمومی

توسعه راهکارهای بلاک چین ؛ قرارداد هوشمند ، یک پایگاه داده نیست!

نگارش:‌امین آبشاهی
3 خرداد 1401 - 22:49
در مقالات عمومی
زمان مطالعه: 2 دقیقه
0
بلاک چین mempool تراکنش ارز دیجیتال

کدگذاری قرارداد هوشمند (Smart Contract) به عنوان جدول‌های پایگاه داده اشتباه است. خود من نیز تا همین اواخر در این مورد اشتباه می‌کردم. توسعه راهکارهای بلاک چین (Blockchain) ، شما را ملزم می کند تا در مورد داده‌ها، کنترل و حریم خصوصی متفاوت فکر کنید.

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

یکی از جزییاتی که این اواخر توجه من را جلب کرد، این بود: این که داده‌ها هم در یک بلاک چین عمومی، عمومی هستند یعنی چه؟

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

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

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

آنچه در این مطلب می‌خوانید

Toggle
  • ثبت وقایعی که در یک بلاک چین تولید شده‌اند
  • کار با رویدادها
  • در حال حاضر نحوه توسعه نرم‌افزار چگونه است
  • نتیجه گیری

ثبت وقایعی که در یک بلاک چین تولید شده‌اند

باید یک تاریخچه کامل از تراکنش‌ها در پلتفرم امور مالی غیرمتمرکز فراهم کنیم.

آیین‌نامه‌هایی مانند MiFID II مستلزم آن است که کلیه تراکنش‌های مالی در صورت درخواست به قانون گذاران گزارش شود؛ این بدان معناست که نه تنها انتقالات توکن، بلکه حتی اقدامات کاربرانی که وضعیت بلاک چین را تغییر می‌دهند، گزارش شود.

تحقیقات اولیه من باعث شد که فکر کنم: “هر تغییر وضعیتی در بلاک چین ثبت می‌شود، بنابراین باید راهی برای عبور از طریق بلاک‌ها و بازیابی تاریخ تراکنش وجود داشته باشد.” 

این روش رویکرد همشمندانه‌تری نسبت به ذخیره کردن داده‌های کلیه تراکنش‌ها در ساختار داده‌های درون یک قرارداد هوشمند است. من یاد گرفته‌ام که این کار را تا کم‌ترین حد ممکن با قرارداد هوشمند و در حد امکان با ابزارهای بیرونی انجام دهم.

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

قرارداد هوشمند به ذخیره داده‌هایی که در آنجا تنها به صورت بایگانی هستند، نیاز ندارد. من از دوست خوبم برناردو ویرا (Bernardo Vieira) خواستم تا ابزاری برای پایگاه داده تاریخ تراکنش پیدا کند. او می‌داند هر کس چه کار می‌کند و معمولاً با چیزی می‌یابد که ما بتوانیم از آن استفاده کنیم.

من حتی در مورد رویدادها فکر نمی‌کردم تا این که برناردو برگشت و گفت: “ثبت وقایعی که در یک بلاک چین تولید شده‌اند چطور است، آیا این مشکل شما را حل می‌کند؟”

این موضوع ذهن من را باز کرد.

کار با رویدادها

تا آن زمان من زیاد به رویدادهای اتریوم فکر نمی کردم. می‌دانستم هنگامی تغییر وضعیت بلاک چین، به جای بازگرداندن ارزش به انتشار یک رویداد کمک می کنید. همچنین یاد گرفته‌ام که آن رویدادها را از فرانت اند (front end) بگیرم تا نتیجه را بازیابی کنم. در مورد کارکرد رویدادها هیچ ایده‌ای نداشتم.

هنگامی که شما یک رویداد را از یک قرارداد هوشمند خارج می کنید، در بلاک چین نیمه ساختار یافته ثبت می‌شود. چند قسمت از این رویداد همیشه یکسان است و متغیرهایی که برای این رویداد در قرارداد هوشمند تعریف می‌کنید، به عنوان قسمت‌های اضافی پیوست می‌شوند. از نظر گس (gas)، یک رویداد یکی از ارزان‌ترین عملیات‌هایی است که می‌توانید در اتریوم انجام دهید. در واقع ۴۰۰۰ گس واقعا ارزان است.

اولین کاوش‌های ما راه‌اندازی TheGraph بود که دقیقاً همان چیزی را که ما می‌خواستیم انجام می‌دهد. TheGraph رویدادها را از بلاک‌چین ها می‌گیرد و یک رابط GraphQL برای جستجوی آنها فراهم می‌کند.

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

در حال حاضر نحوه توسعه نرم‌افزار چگونه است

درک رویدادها ساده به نظر می‌رسد، اما نحوه کدگذاری راهکارهای آن، از آن زمان به بعد مفاهیم عمیقی دارد. اولین تغییر اتخاذ یک اصل توسعه بود که اکنون فهمیدیم:

همه تغییرات وضعیت باید یک رویداد ایجاد کند.

با اطمینان از این که همه تغییرات وضعیت باعث ایجاد یک رویدادی می‌شود، لازم نیست نگران ردیابی تراکنش‌ها باشیم. تمام تغییرات وضعیت به عنوان رویدادهایی دامپ می‌شوند و ما تنها اطلاعات را که لازم داریم به طور خلاصه از Front End خواهیم داشت.

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

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

اگر مقاله‌های دیگر من را خوانده باشید، متوجه می‌شوید که من همیشه به دنبال ساده‌ترین راه هستم. تاکنون از این کد برای یک رجیستری ساده اسناد راضی بودم:

بلاک چین قرارداد هوشمند حریم خصوصی گس کدنویسی رویداد

می تواند ساده‌تر و کارآمدتر نیز باشد.

بلاک چین قرارداد هوشمند حریم خصوصی گس کدنویسی رویداد

توجه داشته باشید که این قرارداد دوم هیچ چیزی را ذخیره نمی‌کند و عملکردی برای بازیابی داده‌‌ها نیز ندارد. با این حال کار کرده و همان کار را انجام می‌دهد.

عادت داریم که رویدادها را به عنوان چیزهای گذرا فرض کنیم؛ اما همه چیز از جمله رویدادها در بلاک چین دائمی است. اگر می‌خواهید بدانید که آیا یک سند اصیل است، فقط باید هش را محاسبه کرده و یک پرسش (Query) را روی حافظه پنهان (cache) اجرا کنید.

تنها واقعیت این است که شما باید یک زیرساخت خارجی  برای ردیابی وقایع و تقلید از وضعیت بلاک چین خارج از زنجیره نگه دارید. این کار نسبتا ساده، بهترین روش از نظر عملکرد است.

می‌توانید در starter-kit نمونه‌ای از کش رویداد را پیدا کنید؛ لطفاً توجه داشته باشید، زیرا این ابزاری است که در حال حاضر در همه پروژه‌ها از آن استفاده می‌شود و باید به سرعت پیشرفت کند.

نتیجه گیری

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

داده‌ها را تنها در صورتی که یک قرارداد هوشمند به آن نیاز داشته باشد در حالت متغیر ذخیره کنید، زیرا در غیر این صورت در یک رویداد از بین می‌رود.

قبلا گفته‌ام که یک راهکار بلاک چین تنها ۱۰ درصد کد قرارداد هوشمند است. با انجام صحیح، قابلیت ردیابی کمتر نیز می‌شود. نتیجه آن یک کد دقیق‌تر است.

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

تگ: تکنولوژی بلاک چینرویداد ارز دیجیتالقرارداد هوشمند
اشتراک‌گذاریتوئیت

نوشته‌های مشابه

فیچر bitcoin OP_CTV softfork سافت فورک بیت کوین
اخبار بیت کوین

بلاکچین بیت کوین به دلیل فورک «BIP-110» رسما دو شاخه شد!

18 مرداد 1405 - 13:00
62
فیچر لیکویید ری استیکینگ Liquid_Restaking
مقالات عمومی

طرح جدید EIP-8363: آیا کاهش پاداش استیکینگ به ضرر اتریوم تمام می‌شود؟

17 مرداد 1405 - 16:00
26
ورود یونی‌سواپ به دنیای وام‌دهی با سرویس جدید Earn
اخبار بلاکچین

ورود یونی‌سواپ به دنیای وام‌دهی با سرویس جدید Earn

14 مرداد 1405 - 19:00
41
چگونه «دارایی‌های دنیای واقعیِ جعلی» به جدیدترین جنون دنیای کریپتو تبدیل شدند؟
مقالات عمومی

چگونه «دارایی‌های دنیای واقعیِ جعلی» به جدیدترین جنون دنیای کریپتو تبدیل شدند؟

13 مرداد 1405 - 12:00
54
فیچر بیلد بلک راک
اخبار بلاکچین

بلک‌راک دو صندوق توکنیزه جدید راه‌اندازی کرد؛ تمرکز بر بازار استیبل کوین‌ها 

12 مرداد 1405 - 19:00
36
فیچر آپدیت هفتگی
تحلیل فاندامنتال

نبض هفتگی بازار کریپتو؛ از اخبار مهم تا رویدادهای پیش‌روی هفته دوم مرداد

12 مرداد 1405 - 09:00
54
اشتراک
اطلاع از
0 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

حفظ ارزش پول
مقالات عمومی

راه‌های حفظ ارزش پول؛ چگونه قدرت خرید خود را در برابر تورم حفظ کنیم؟

17 مرداد 1405 - 20:00
120
فیچر لیکویید ری استیکینگ Liquid_Restaking
مقالات عمومی

طرح جدید EIP-8363: آیا کاهش پاداش استیکینگ به ضرر اتریوم تمام می‌شود؟

17 مرداد 1405 - 16:00
26
چرا هوش مصنوعی اکنون در کوتاه‌مدت تهدیدی فوری‌تر از کامپیوترهای کوانتومی برای بیت‌کوین است؟
مقالات عمومی

چرا هوش مصنوعی اکنون در کوتاه‌مدت تهدیدی فوری‌تر از کامپیوترهای کوانتومی برای بیت‌کوین است؟

17 مرداد 1405 - 12:00
38
مایکل ترپین: متاسفم، بیت‌کوین به سمت ۴۳,۵۰۰ دلار در حال سقوط است
مقالات عمومی

مایکل ترپین: متاسفم، بیت‌کوین به سمت ۴۳,۵۰۰ دلار در حال سقوط است

16 مرداد 1405 - 12:00
123
بیت کوین در برابر تهدید کوانتومی؛ چالش‌های فنی و نقشه راه
مقالات عمومی

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

13 مرداد 1405 - 20:00
60
هوش مصنوعی تنها بهانه‌ای برای سرپوش گذاشتن بر ورشکستگی خاموش شرکت‌های کریپتویی است
مقالات عمومی

هوش مصنوعی تنها بهانه‌ای برای سرپوش گذاشتن بر ورشکستگی خاموش شرکت‌های کریپتویی است

13 مرداد 1405 - 16:00
61

پیشنهاد سردبیر

فیچر بازار سهام

وال‌استریت فقط برای آمریکایی‌ها نیست؛ قبل از خرید اپل، انویدیا یا S&P 500 این راهنما را بخوانید

16 تیر 1405 - 17:00
243

روزهای قرمز بازار؛ قربانی ترس می‌شوید یا استراتژی‌تان را تغییر می‌دهید؟

تحریم صرافی های ایرانی و ریسک حضانتی؛ دارایی‌هایمان واقعاً در خطر است؟

گزارش ویژه: اکسکوینو چگونه از اختلالی ادعایی به بحرانی سیستمی رسید؟ کالبدشکافی ورشکستگی پنهان در فین‌تک ایران

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

«برای آنچه نیاز دارید، چه بهایی می‌پردازید؟» صورت‌مسئله تازه اقتصاد جهانی و ایران

  • خانه
  • قیمت ارز
  • صرافی ها
  • ماشین حساب
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
  • نشان‌شده‌ها

© 2025 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است

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

© 2026 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است.