آموزش ارز دیجیتال

شبکه ARC20 و توکن آوالانچ

شبکه ARC20، یک توکن ERC-20 است که توکن بومی RapidAvalanche است که مشابه RapidAvalanx ایجاد شده است. این استاندارد توکن اجازه می دهد تا یک API توکن استاندارد در قراردادهای هوشمند پیاده سازی شود. این استاندارد عملکرد اصلی انتقال توکن را فراهم می کند و همچنین اجازه می دهد تا توکن ها اعتبار سنجی شوند تا بتوانند توسط اشخاص ثالث در زنجیره ای کاملاً مطابق با ERC-20 خرج شوند.

توکن بومی Avalanche چیست؟

توکن بومی Avalanche (ANT) یک توکن با ارزش ثابت یا متغیر است که در X-Chain ایجاد شده است. این توکن ها را می توان با سرعت های بسیار سریع در X-Chain مبادله کرد که از عملکرد برتر یک DAG نسبت به یک زنجیره خطی بهره می برد. در این زمینه، توکن‌های بومی Avalanche شامل توکن‌های غیرقابل تعویض (NFT) ایجاد شده در X-Chain نمی‌شوند.

چرا ANT را از X-Chain به C-Chain منتقل کنیم؟

عملکرد قرارداد هوشمند به یک سری انتقال حالت (معاملات) نیاز دارد. بنابراین، ANT ها برای استفاده در قراردادهای هوشمند باید به زنجیره C منتقل شوند.

توکن های C-Chain

آواکس

    آواکس یکی از توکن های زنجیره c است

AVAX همان نقشی را در C-Chain ایفا می کند که ETH در شبکه اتریوم ایفا می کند. هنگام ایجاد یک قرارداد هوشمند، کارمزد تراکنش (کارمزد گاز) را به آواکس می پردازید. شما می توانید Awax را بین حساب ها انتقال دهید و Awax را با استفاده از ابزارها و کتابخانه های خود EVM به یک قرارداد هوشمند ارسال کنید.

ANT

با این حال، ANT ها مشابهی در EVM ندارند. بنابراین، C-Chain تغییراتی برای پشتیبانی از نگهداری موجودی ANT و انتقال ANT به C-Chain دارد.

C-Chain یک کارت در فضای ذخیره سازی هر حساب برای پشتیبانی از ANT نگه می دارد. این توکن‌ها را می‌توان در X-Chain برگرداند یا در C-Chain با استفاده از nativeAssetCall و nativeAssetBalance استفاده کرد. NativeAssetCall و NativeAssetBalance قراردادهای از پیش کامپایل شده ای هستند که در فاز 2 Apricot منتشر شده اند و امکان استفاده غنی تر از ANT را در C-Chain فراهم می کنند.

NativeAssetCall

یک تراکنش EVM شامل فیلدهای زیر است:

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

هزینه گاز یک مقدار اسکالر برابر با تعداد Wei (1 Wei = 10^-18 AVAX) است که به ازای هر واحد گاز برای تکمیل این معامله پرداخت می شود.

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

ERC-20 چیست؟

ERC-20 چیست؟

ERC-20 یک نوع توکن استاندارد شده در اتریوم است. این مجموعه استانداردی از توابع و رویدادها را فراهم می کند که به یک قرارداد هوشمند اجازه می دهد تا به عنوان یک توکن اتریوم عمل کند. ERC-20 توسط یک قرارداد هوشمند مدیریت می شود، به این معنی که آنها وضعیت خود را حفظ می کنند. یعنی اگر حساب شما دارای 5 عدد از یک ERC-20 معین باشد، داده هایی که مالکیت حساب شما را می دهد در واقع در آن قرارداد ERC-20 ذخیره می شود. در عوض، موجودی ETH در فضای ذخیره سازی حساب شما ذخیره می شود.

از شبکه ANT تا ARC20

برخلاف ERC-20، توکن‌های بومی Avalanche (ANT) مستقیماً در حسابی نگهداری می‌شوند که مالک آنهاست. ANT ها را می توان مجدداً کدگذاری کرد تا در قراردادهای هوشمند C-Chain قابل استفاده باشند. ما این دارایی تسریع شده را ARC20 می نامیم. برای انجام این کار، یک فیلد شناسه دارایی را به یک قرارداد معمولی ERC-20 اضافه می کنیم تا دارایی اساسی را که شبکه ARC20 شارژ می کند، نشان دهد.

علاوه بر این، شبکه ARC20 پشتیبانی از دو عملکرد اضافی: برداشت و سپرده. برای پیاده سازی این، ARC20 باید از قراردادهای از پیش کامپایل شده استفاده کند: nativeAssetCall و nativeAssetBalance.

ERC-20 ها معمولاً یک زمینه تحویل مشترک دارند، اما این می تواند معنای متفاوتی در زمینه یک دارایی همراه داشته باشد. کل عرضه می تواند کل عرضه دارایی های بدون رپ کل پلت فرم یا مجموع دارایی های قرارداد تکرار شود. برای سادگی، از عرضه کل برای نشان دادن کل عرضه دارایی معامله شده در قرارداد ARC20 استفاده می کنیم.

سپرده های شبکه ARC20

سپرده های شبکه ARC20

برای واریز پول روی یکی شبکه ARC20، باید مبلغ واریزی را به قرارداد ARC20 ارسال کنیم و سپس تابع سپرده قرارداد را ایجاد کنیم تا قرارداد بتواند واریز را تایید کرده و موجودی تماس گیرنده را به روز کند. این شبیه به WETH (ETH تجاوز شده) در اتریوم است. با WETH، این کار را می توان با یک تماس ساده انجام داد، زیرا این روش به تماس گیرنده اجازه می دهد هم ETH ارسال کند و هم یک قرارداد هوشمند اتمی را فراخوانی کند. با ARC20 های غیر از Awax، nativeAssetCall همان عملکرد را برای ANT در C-Chain فراهم می کند.

این مقدار assetAmount را از شناسه دارایی به آدرس قرارداد ARC20 ارسال می‌کند و سپس Deposit در قرارداد را فراخوانی می‌کند. تابع سپرده از مجموع تحویل قبلی برای محاسبه مقدار شناسه دارایی در سپرده استفاده می کند. از آنجایی که nativeAssetCall تماس گیرنده خود را در قراردادی منتشر می کند که هنگام فراخوانی سپرده فراخوانی می شود، قرارداد ARC20 msg.sender را به عنوان تماس گیرنده اصلی nativeAssetCall می بیند و می تواند موجودی را از طرف آدرس صحیح افزایش دهد.

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

برداشت های شبکه ARC20

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

چگونه یک کیف پول ARC20 ایجاد کنم؟

مرحله ی 1: برنامه را باز کنید، روی نماد کیف پول در گوشه پایین سمت راست کلیک کنید، سپس روی Manage کلیک کنید.

گام 2: روی Add Wallet کلیک کنید، سپس: روی نماد Avalanche (AVAX C-Chain، ARC20) کلیک کنید تا یک کیف پول Avalanche C-Chain ایجاد کنید، یا یک کیف پول چند زنجیره ای ایجاد کنید تا کیف پول های بیشتری با همان رمز عبوری که دارید ایجاد کنید.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا