عملیات و معاملات

ساخت وبلاگ

برای انجام اقدامات با یک حساب در شبکه ستاره ای ، شما عملیات را تنظیم می کنید ، آنها را به یک معامله بسته می کنید و سپس معامله را به شبکه امضا و ارسال می کنید.

عمل

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

تمام عملیات در یکی از سه دسته آستانه قرار می گیرند: کم ، متوسط یا زیاد و هر دسته آستانه دارای وزن بین 0 تا 255 است (که با استفاده از set_options قابل تعیین است). آستانه ها تعیین می کنند که وزن امضا برای پذیرش عمل لازم است. به عنوان مثال ، بیایید بگوییم که یک حساب وزن آستانه متوسط را به 5 تبدیل می کند. اگر حساب می خواهد با موفقیت با عملکرد ChangeTrust یک اعتماد را با موفقیت ایجاد کند ، وزن امضا (های) باید بیشتر از یا برابر 5 باشد.

برای کسب اطلاعات بیشتر در مورد وزن امضای ، به ورود و دانش دائر ycl المعارف چند امضا مراجعه کنید

لیست کاملی از عملیات ستاره ای و سطح آستانه آنها را در بخش لیست عملیات مشاهده کنید

معاملات

در شبکه ستاره ای ، معاملات با استفاده از یک پروتکل استاندارد به نام نمایندگی داده های خارجی (XDR) رمزگذاری می شوند. می توانید اطلاعات بیشتر در مورد این را در ورودی دائر ycl المعارف XDR ما بخوانید.

حساب ها فقط می توانند یک بار یک معامله را انجام دهند.

معاملات شامل مجموعه ای بین 1 تا 100 عملیات است و توسط حساب ها امضا و ارسال می شود. معاملات همیشه باید توسط کلید عمومی حساب منبع معتبر مجاز باشند ، که شامل امضای شیء معامله با کلید مخفی مرتبط با کلید عمومی است. معامله به علاوه امضای (های) آن به یک پاکت معامله گفته می شود.

یک معامله ممکن است به بیش از یک امضا نیاز داشته باشد- این اتفاق می افتد اگر عملیاتی داشته باشد که بیش از یک حساب را تحت تأثیر قرار دهد یا وزن آستانه بالایی داشته باشد. برای کسب اطلاعات بیشتر ، ورود و دانشنامه چند منظوره را بررسی کنید.

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

عملیات برای حساب منبع معامله انجام می شود ، مگر اینکه عمل نادیده گرفته شود.

ویژگی های معامله

اعتبار معامله و بهره برداری

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

پیش شرط ها (اختیاری)

پیش شرط ها ابتدا بررسی می شوند.

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

مرزهای زمانی

اگر در محدوده زمانی تعیین شده معامله معتبر باشد

مرزهای زمانی یک جدول زمانی اختیاری UNIX (در ثانیه) است که توسط زمان دفتر تعیین می شود ، از یک محدوده پایین و بالا از زمان معتبر معامله. اگر معامله خیلی زود یا خیلی دیر ارسال شود ، نتوانسته است آن را به مجموعه معامله تبدیل کند.

تعیین مرزهای زمان در معاملات بسیار تشویق می شود و بسیاری از SDK آنها را اجرا می کنند.

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

مرزهای لجر

معتبر است اگر در محدوده دفترچه تنظیم معامله باشد

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

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

اگر مرز بالایی روی 0 تنظیم شود ، این نشان می دهد که هیچ حد بالایی وجود ندارد.

حداقل شماره دنباله

اگر شماره دنباله حداقل تنظیم شود ، معامله فقط زمانی معتبر خواهد بود که شماره دنباله حساب منبع آن (با آن تماس بگیرید) به اندازه کافی بزرگ باشد. به طور خاص ، وقتی S Minseqnum را راضی می کند ، معتبر است

اگر این پیش شرط حذف شود ، رفتار پیش فرض اعمال می شود: شماره دنباله معامله باید دقیقاً بیشتر از شماره دنباله حساب باشد.

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

حداقل سن توالی

معامله پس از مدت زمان خاص (بیان شده در ثانیه) معتبر است از سن تعداد توالی حساب

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

حداقل شکاف لجر توالی

معتبر است اگر در یک جلسه دفترچه ارسال شده یا بیش از سن شماره توالی حساب منبع باشد

این شبیه به حداقل سن توالی است ، به جز بیان به عنوان تعدادی از دفترچه ها و نه مدت زمان.

امضا کننده های اضافی

معتبر است اگر با امضایی ارسال شود که هر یک از امضا کنندگان اضافی را برآورده می کند

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

امضا کننده های اضافی می توانند از هر نوع دیگری علاوه بر امضا کننده معاملات از پیش مجاز ، از آنجا که پیش از مجازات معامله ، باید هش آن را بدانید ، اما هش باید شامل امضا کنندگان اضافی باشد. این رابطه Catch-22 به معنای این است که شامل این نوع امضا کننده اضافی خطایی خواهد بود.

اعتبار

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

امضاهای مربوط به معامله باید برای عملیات معتبر باشد

امضاها از امضا کنندگان معتبر برای حساب منبع این عملیات هستند. وزن ترکیبی از همه امضاها برای حساب منبع این عملیات ، آستانه عملیات را برآورده می کند.

عمل باید به خوبی شکل گرفته باشد

به طور معمول این به معنای بررسی پارامترهای این عملیات است تا ببیند آیا آنها در یک قالب معتبر هستند یا خیر. به عنوان مثال ، فقط مقادیر مثبت را می توان برای مبلغ یک عملیات پرداخت تعیین کرد.

این عمل باید در نسخه پروتکل فعلی شبکه معتبر باشد

عملیات مستهلک مانند تورم با طراحی نامعتبر است.

اعتبار معامله

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

حساب منبع

حساب منبع باید در دفترچه وجود داشته باشد.

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

BUMP FEE (در صورت وجود)

شماره توالی

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

لیست عملیات

هر عملیات باید کلیه بررسی های اعتبار را برای یک عملیات که در بخش اعتبار عملکرد بالا توضیح داده شده است ، منتقل کند.

لیست امضاها

  • الزامات امضاء برای هر عمل در معامله را برآورده کنید
  • مسیر عبور مناسب شبکه بخشی از معامله معامله ای است که توسط هر امضا کننده امضا شده است
  • وزن ترکیبی از امضاها برای حساب منبع معامله ، آستانه پایین حساب منبع را برآورده می کند.

یادداشت (در صورت وجود)

نوع یادداشت باید یک نوع معتبر باشد و خود یادداشت باید به قالب بندی نوع یادداشت رعایت کند.

چرخه عمر معامله

1. ایجاد (خالق معامله)

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

2. امضای (امضا کنندگان معامله)

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

3. ارسال (ارسال کننده معامله)

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

4- تبلیغ (اعتبار سنج)

هنگامی که Core Stellar مشخص کرد که یک معامله معتبر است ، معامله را به تمام سرورهای دیگری که به آن متصل هستند ، تبلیغ می کند. به این ترتیب ، یک معامله معتبر به کل شبکه ستاره ای سیل می شود.

5. ساخت یک مجموعه معامله نامزد (اعتبار سنج)

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

6. نامزد مجموعه معامله (اعتبار سنجی)

هنگامی که هر اعتبار سنجی مجموعه معامله نامزد را ایجاد کرد ، این مجموعه به شبکه معرفی می شود.

7. پروتکل اجماع ستاره ای (SCP) مجموعه معاملات نهایی (شبکه اعتبار سنجی) را تعیین می کند

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

اگر معامله ای آن را به مجموعه معامله تبدیل نکند ، در حافظه نگه داشته می شود تا به بهترین وجهی که به بهترین وجه تلاش می شود به معامله بعدی اضافه شود.

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

8- سفارش اعمال سفارش تعیین می شود (شبکه اعتبار سنجی)

هنگامی که SCP در مورد یک معامله خاص موافقت کرد ، سفارش اعمال برای مجموعه معامله محاسبه می شود. این دستور مجموعه را برای ایجاد عدم اطمینان برای معاملات رقابتی تغییر می دهد و ترتیب شماره های توالی برای معاملات متعدد در هر حساب را حفظ می کند.

9. هزینه ها جمع آوری می شود (اعتبار سنجی)

هزینه ها برای کلیه معاملات به طور همزمان جمع آوری می شود.

10. برنامه (اعتبار سنج)

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

11. ارتقاء پروتکل (اعتبار سنج)

سرانجام ، در صورت بروزرسانی ، به روزرسانی ها اجرا می شود. این می تواند شامل منطق دلخواه برای به روزرسانی وضعیت لجر برای به روزرسانی های پروتکل ، به همراه اصلاحات هدر Ledger ، از جمله نسخه پروتکل ، هزینه پایه ، حداکثر تعداد عملیات در هر دفترچه و غیره باشد. پس از اتمام این کار ، چرخه زندگی دوباره شروع می شود.< Pan> هر معامله به ترتیب قبلاً تعیین شده اعمال می شود. برای هر معامله ، شماره دنباله حساب مصرف می شود (1 افزایش یافته است) ، اعتبار معامله دوباره بررسی می شود و هر عملیاتی به ترتیب انجام شده در معامله اعمال می شود. عملیات ممکن است در این مرحله به دلیل خطاهایی که می تواند در خارج از چک و اعتبار اعتبار انجام شود ، شکست بخورد. به عنوان مثال ، مانده کافی برای پرداخت در هنگام ارسال بررسی نمی شود و در این زمان شکست می خورد. در صورت عدم موفقیت هر عملیاتی ، کل معامله با شکست روبرو می شود و تمام عملیات قبلی به عقب برگردانده می شود.

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

برچسب : نویسنده : مرتضی احباب بازدید : 88 تاريخ : سه شنبه 8 فروردين 1402 ساعت: 23:14