در این مقاله قصد داریم توضیحاتی کلی راجع به شبکه کایبر (Kyber Network) و انتقال توکن ها در این شبکه بدهیم که قبل از شروع نیاز داریم مفهوم کلی شبکه کایبر (Kyber Network) را تعریف کنیم.
شبکه کایبر (Kyber Network) چیست؟
صدها توکن وجود دارد که به دنبال حداکثر نقدینگی و کاربرد میباشند. برای مثال اگر توکن X را داشته باشید میتوانید از آن در پلتفرم X استفاده کنید. این امر باعث محدود شدن کاربرد توکن X میشود. شبکه کایبر با ایجاد ذخیره توکن حل میکند تا بتوانید به تبادل توکن ها به طور همزمان بپردازید. بنابراین اگر وبسایتی دارید که پرداخت های DAI را میپذیرد اما فقط توکن OMG دارید، میتوانید OMG پرداخت کنید که به طور همزمان با DAI تبادل خواهد شد.
پروتکل کایبر موجودی ها و قیمت های توکن را به داخل زنجیره میآورد، بنابراین توسعه دهندگان میتوانند ارزش توکن ها را بدون هزینه بیشتر فنی یا امنیتی به قراردادهای هوشمند. خود وارد کنند.
این امر شرایط زیر را امکان پذیر میسازد:
- تایید آنی
- تضمین انجام تراکنش (دیگر ریسک تراکنشی، نکات مبهم یا ریسک عدم اعتماد به طرف مقابل تراکنش وجود ندارد)
- استخرهای متنوع و جهانی از توکن های مختلف
تبادل توکن ها با استفاده از شبکه کایبر
در ادامه به طور مختصر به تبادل توکن ها با استفاده از قراردادهای هوشمند شبکه کایبر میپردازیم.
تنظیمات اولیه:
- کد NodeJs را نصب کنید
- کد Ganache-Cli را نصب کنید
- ترافل (Truffle) را نصب کنید
مخزن را شبیه سازی کنید:
مرور کلی مخزن
با هم نگاهی به مولفههای مخزن میاندازیم:
تنظیمات (Configs): قراردادهای کایبر از Config ها برای انتقال ها استفاده میکند. این config ها پارامترهایی هستند که توسط قراردادها و پس از اجرا استفاده میشوند. قراردادها
(contracts): قراردادهای شبکه کایبر، نمونه ها و بعضی از توکن ها و قراردادها برای اهداف آزمایشی میباشند.
نمونه ها (examples): یک دایرکتوری کلیدی که در طی مرحله آزمایشی استفاده میکنیم. این بخش شامل نمونه های شبکه کایبر است.
- ترافل (Truffle): این بخش شامل فایل JS است که میتوانیم همراه با truffle-cli یا پروژه ترافل استفاده کنیم.
- وب۳ (web3): این بخش شامل فایل های معمولی JS میباشد که میتوانید همراه با دستور نود استفاده کنید.
- سالیدیتی: قرارداد نوشته شده با سالیدیتی که با کنسول ترافل استفاده خواهیم کرد.
انتقال ها: شامل اسکریپت انتقال به اعمال تنظیمات و اجرای قراردادهای شبکه کایبر است.
تنظیمات اولیه شبکه کایبر و قراردادهای انتقال:
اکنون قراردادهای شبکه کایبر را تنظیم خواهیم کرد.
از منمونیک از پیش تعیین شده استفاده خواهیم کرد، بنابراین دیگر نیاز به تنظیم آدرس ها برای قرارداد و کیف پول نیست. دستور زیر را برای شروع گاناش اجرا کنید:
اجرای انتقال:
قبل از شروع باید تمام قراردادها را اجرا کنیم. برای این کار باید انتقال را اجرا کنیم:
این مرحله مقداری طول خواهد کشید.
ما از منمونیک از پیش تعیین شده استفاده میکنیم پس آدرس های مشابه زیرا را دریافت خواهید کرد:
اجرای نمونه ترافل:
نمونه ای از دایرکتوری ترافل اجرا میکنیم.
این امر به ما نرخ تبادل با توکن های تنظیم شده متفاوتی ارائه خواهد داد.
اجرای نمونه Web3:
بار دیگر نرخ تبادل را دریافت میکنیم اما این بار از NodeJs استفاده خواهیم کرد.
استفاده از قرارداد سالیدیتی برای تبادل توکن:
اکنون به تبادل توکن با استفاده از تعامل با قراردادهای شبکه کایبر میپردازیم.
ما توکن KNC (توکن شبکه کایبر) را با توکن OMG (توکن OmiseGO) تبادل خواهیم کرد.
به خاطر داشته باشید که میتوانید این کار را با استفاده از نمونه های Web3 و ترافل انجام دهید اما اجرای این آزمایش با کنسول ترافل بسیار آسانتر و تعاملی تر است. پس از کنسول ترافل استفاده میکنیم.
آدرس کاربری ما به صورت زیر است:
0x47a793D7D0AA5727095c3Fe132a6c1A46804c8D2
از این آدرس باز هم استفاده خواهیم کرد، پس آن را به یک متغیر اختصاص میدهیم:
ما یک فایل Trade.sol در پوشه سالیدیتی داریم که در تبادل توکن به ما کمک میکند. میتوانید از مسیر زیر کد را برای اجرای قرارداد بررسی کنید:
Examples > solidity > Trade.sol
اکنون باید مثالی به قرارداد بدهیم.
سپس برای تبادل KNC با OMG، مثالی از هر دو قرارداد ارائه میدهیم. میتوانید این قراردادهای توکن را در مسیر contracts > mockTokens مشاهده کنید. این توکن ها، توکن های آزمایشی ERC-20 میباشند. در عمل، به آدرس قرارداد اصلی برای این توکن ها در شبکه اصلی اتریوم نیاز دارید.
اکنون موجودی هر توکن را دریافت میکنیم.
با اجرای دستور زیر میتوانید. موجودی را بررسی کنید:
اکنون برای برداشت توکن ها از قرارداد باید تاییدیه قرارداد معامله را دریافت کنیم:
اکنون میتوانیم تبادل توکن را انجام دهیم. نگاهی به روش Trade.sol میاندازیم که برای تبادل توکن استفاده خواهیم کرد:
در این دستور موارد زیر را داریم:
آدرس قرارداد توکن مبدا: srcToken
مقدار توکن های مبدا: srcQty
آدرس قرارداد توکن مقصد: destToken
آدرس ارسال توکن های تبادل شده: destAddress
مقدار ارسال توکن های تبادل شده: maxDestAmount
بنابراین روش را اینگونه فرا میخوانیم:
اگر آموزش را تا اینجا دنبال کرده اید، موفق شده اید با استفاده از پروتکل شبکه کایبر دو توکن را تبادل کنید.
موجودی توکن را بار دیگر بررسی میکنیم:
نتیجه گیری
اگر با مشکل مواجه شدید میتوانید سوال خود را در گروه تلگرام شبکه کایبر بپرسید. پس منتظر چی هستید؟ هم اکنون برنامه غیرمتمرکز خود را با شبکه کایبر شروع کنید.