مقدمه ای در مدل حساب Solana

ساخت وبلاگ

مدل حساب Solana بخش مهمی از اکوسیستم Solana است و می تواند یکی از سخت ترین مفاهیم برای توسعه دهندگان ، به ویژه مواردی باشد که از سایر blockchains در حال انتقال هستند. برای کار کردن بر روی blockchain Solana ، درک خوبی از مدل حساب مهم است. بگذارید ابتدا تعریف کنیم که چه حسابهایی وجود دارد و انواع مختلف حساب ها و همچنین چگونگی ایجاد و تعامل با آنها را کشف می کنیم.

حساب چیست؟

Two boxes with one box titled Program account and another titled Data Account with an arrow from Data Account to Program Account.

حساب ها در هر مکانی هستند که داده ها در blockchain Solana ذخیره می شوند. آنچه باعث می شود blockchain Solana در مقایسه با سایر blockchains مانند Ethereum منحصر به فرد باشد ، نحوه ذخیره و مدیریت این داده ها است. در اینجا دسته بندی های مختلف حساب وجود دارد: - حساب برنامه - این حساب ها کد اجرایی و معادل قراردادهای هوشمند Ethereum را ذخیره می کنند.- حساب ذخیره سازی - این حساب ها داده های متصل به برنامه ها را ذخیره می کنند.- حساب Token - این حساب ها مانده حساب نشانه ها را ردیابی می کنند و امکان انتقال یا دریافت نشانه ها بین حساب ها را فراهم می کنند. در blockchain Solana ، جدایی بین برنامه و داده/وضعیت برنامه وجود دارد. هر دو حساب جداگانه اختصاص داده می شوند اما به هم وصل می شوند. مقایسه این امر با اتریوم ، یک قرارداد هوشمند و داده های آن قرارداد هوشمند در یک مکان در blockchain قرار دارد. اگر می خواهید برنامه ای را تهیه کنید که تعداد نقل و انتقالات توکن را که یک برنامه ساخته شده است شمارش کند ، برای تهیه نقل و انتقالات و همچنین یک حساب دیگر برای ذخیره تعداد نقل و انتقالات ، باید برنامه را ایجاد کنید. منبع تصویر برای مثال از دنیای مالی سنتی ، می توانید به برنامه ای مانند کارت بدهی ، بانک خود به عنوان یک حساب ذخیره سازی و مانده حساب خود به عنوان یک حساب توکن فکر کنید. در حالی که هر یک از اینها به هم وصل شده اند ، آنها در مکان های جداگانه ای قرار دارند. اگر کارت بدهی خود را از دست می دهید ، حساب بانکی خود را از دست نمی دهید (اما شاید بودجه موجود در آن باشد). کارت شما همچنین تنها کارتی است که می تواند با استفاده از آن برای خرید چیزها ، مانده حساب را تغییر دهد. به همین ترتیب ، برنامه مرتبط با یک حساب ذخیره سازی تنها برنامه ای است که می تواند وضعیت داده ها را تغییر دهد.

انواع حساب

دو نوع حساب در blockchain Solana وجود دارد: اجرایی و غیر اجرایی. برنامه ها حساب های اجرایی هستند و کد غیرقابل تغییر یک برنامه را ذخیره می کنند. کد یک برنامه ابتدا در Rust یا C/C ++ نوشته شده و سپس از طریق زیرساخت کامپایلر LLVM در کد بایت گردآوری می شود. ذخیره سازی داده ها و مانده های توکن در حساب های غیر اجرایی ذخیره می شوند زیرا داده های آنها تغییر می کند. برای کنترل اینکه چه کسی می تواند این داده ها را تغییر دهد ، حساب های غیر اجرایی دارای آدرس برنامه مالک هستند که به آنها اختصاص داده شده است. برنامه های دیگر می توانند داده های حساب دیگری را بخوانند ، اما اگر سعی در تغییر آن داده ها داشته باشند ، معامله با شکست روبرو می شود.

اجاره

A terminal window showing the Solana rent command being run

متأسفانه ، ذخیره تمام این داده ها در حساب های جداگانه رایگان نیست و با برخی هزینه ها همراه است. خوشبختانه برای توسعه دهندگان ، این هزینه ها به نام اجاره بها در لامپورت پرداخت می شود. Lamports کسری از نشانه Solana ، Sol است و برای ساخت ریزگردها در blockchain Solana استفاده می شود. هزینه های اجاره بر اساس اندازه ذخیره سازی حساب محاسبه می شود. هرچه مقدار بیشتری از داده های ذخیره شده ، هزینه اجاره بالاتر باشد. هزینه های اجاره در پایان هر دوره از blockchain Solana جمع آوری می شود. یک دوره زمانی است که اعتبار سنج پیشرو هنوز هم برای تولید بلوک معاملات معتبر است. داده های مربوط به دوره های فعلی و گذشته در Solana Explorer را می توانید مشاهده کنید. در زمان نوشتن ، یک دوره تقریباً 2 روز طول می کشد. تقریباً مانند زندگی واقعی ، اگر یک حساب کاربری صفر داشته باشد و قادر به پرداخت هزینه اجاره نباشد ، آن را از blockchain حذف می کند. یک حساب می تواند با نگه داشتن حداقل 2 سال اجاره در مانده توک خود ، اجاره بها معاف شود. یک راه آسان برای برآورد هزینه های اجاره با استفاده از دستور اجاره Solana از طریق Solana CLI است. با ارائه اندازه (در بایت) حساب خود ، اجاره هر بایت ، در هر دوره و حداقل مبلغ را برای معافیت از حساب مشاهده خواهید کرد:

نحوه ایجاد یک حساب کاربری

برای ایجاد یک حساب کاربری در Solana ، یک جفت کلیدی (عمومی و خصوصی) باید توسط مشتری ایجاد شود. سپس مشتری از SystemProgram :: CreateAccount برای ثبت نام کلید عمومی و اختصاص اندازه ذخیره داده مورد نیاز برای تنظیم این حساب استفاده می کند. در حال حاضر ، این اندازه بعداً قابل تغییر نیست و حد اندازه 10 مگابایت است. در صورت نیاز به اندازه بیشتر ، یک برنامه می تواند داده ها را از یک حساب به حساب دیگر که ظرفیت بیشتری دارد کپی کند. هنگام ایجاد یک حساب ، یک مالک باید به حساب اختصاص یابد. فقط صاحب حساب می تواند داده هایی را که در حساب ذخیره می شود اصلاح کند. صاحب پیش فرض پس از ساخت یک حساب "برنامه سیستم" نامیده می شود. برنامه سیستم یک برنامه بومی در Solana است که وظیفه ایجاد حساب ، تخصیص داده در حساب ها و اختصاص مالکیت حساب ها به برنامه های متصل را بر عهده دارد. برنامه های بومی برنامه هایی هستند که لازم است توسط همه اعتبار سنج ها در Solana اجرا شود. برنامه سیستم همچنین مسئول نقل و انتقالات LAMPORT برای حسابهایی است که به صاحب آن اختصاص داده شده است. اگر کاربر یک حساب کاربری ایجاد کند تا بتواند تعادل توکن را ذخیره کند ، انتقال آن نشانه توسط برنامه سیستم انجام می شود. کاربر دستورالعمل های انتقال را با کلید خصوصی خود امضا می کند و برنامه سیستم کسر نشانه های فرستنده را اداره می کند و حساب گیرنده را اعتبار می دهد.

تعامل با حساب

Solana account command run in the Terminal

از آنجا که کد برنامه و داده های ذخیره شده توسط برنامه حساب های جداگانه ای هستند ، هر برنامه می تواند داده های حساب دیگری را بخواند. هر برنامه همچنین می تواند لامپورت ها را به یک حساب اضافه کند اما فقط مالک می تواند آنها را کم کند. این امر در هنگام ساخت برنامه هایی که ممکن است نیاز به تعامل با حساب هایی که متعلق به آن نیست ، مفید است. هنگام خواندن یک حساب ، این داده ها را بازگردانده خواهید کرد: منبع تصویر در اینجا تفکیک آن داده ها را نشان می دهد: - کلید عمومی - کلید عمومی که به این حساب اختصاص داده شده است - مانده - مقدار SOL متعلق به این حساب - مالک - آدرسبرنامه ای که مالکیت این حساب را داشته باشد - اجرایی - اگر این یک حساب اجرایی باشد یا نه - اجاره _ دوره - دوره بعدی که در آن این حساب اجاره را پرداخت می کند - طول - اندازه حساب

پایان

ایجاد و تعامل با حساب ها نحوه انجام هر کاری در سولانا است. جدایی برنامه ها و داده های مورد استفاده آنها یک رویکرد منحصر به فرد برای مدیریت کد و مدیریت دولت است. درک قوانین مالکیت و نحوه عملکرد برنامه ها در آن قوانین برای موفقیت در توسعه در سولانا مهم است. برای عملی کردن این مفاهیم ، برخی از آموزش های دیگر Solana ما را بررسی کنید. برای مقالات و راهنماهای بیشتر در خبرنامه ما مشترک شوید. اگر بازخورد دارید ، از طریق توییتر به ما دسترسی پیدا کنید. شما همیشه می توانید با ما در سرور Community Discord ما گپ بزنید ، با برخی از جالبترین توسعه دهندگان که تاکنون ملاقات کرده اید :)

پلتفرم های تجاری...
ما را در سایت پلتفرم های تجاری دنبال می کنید

برچسب : نویسنده : مریم کاویانی بازدید : 32 تاريخ : چهارشنبه 15 شهريور 1402 ساعت: 10:47