نحوه ایجاد و استقرار یک نشانه BEP-20 به زنجیره هوشمند Binance

ساخت وبلاگ

How To Create And Deploy A BEP20 Token To The Binance Smart Chain

BEP-20 استاندارد توکن زنجیره هوشمند Binance (BSC) است. زنجیره هوشمند Binance یک blockchain قابل برنامه ریزی با پشتیبانی از قراردادهای هوشمند و سازگاری EVM است. این امر باعث می شود کاندیدای خوبی برای ساخت برنامه های غیر متمرکز باشد.

برای تعامل با BSC blockchain ، یک نشانه بر اساس استاندارد BEP-20 ، BNB ، ملزم به پرداخت هزینه های معاملات است ، دقیقاً مانند اتر برای پرداخت هزینه های گاز در blockchain اتریوم استفاده می شود. در حقیقت ، استاندارد BEP-20 گسترش استاندارد ERC-20 در اتریوم است. این امر امکان ایجاد برنامه های غیر متمرکز بر روی زنجیره هوشمند Binance را با استفاده از ابزار فعلی اتریوم امکان پذیر می کند.

در این آموزش ، ما با اجرای استاندارد توکن BEP-20 ، یک نمونه BEP-20 را کدگذاری می کنیم ، آن را به تست زنجیره ای هوشمند Binance با استفاده از ریمیکس مستقر می کنیم ، کد منبع توکن را در BSCSCAN تأیید می کنیم ، و در آخر ، توکن مستقر را وارد می کنیم. به metamask.

ما موارد زیر را با جزئیات پوشش خواهیم داد:

  • اجرای پیشنهاد توکن BEP-20
  • استقرار قرارداد توکن با استفاده از ریمیکس
  • تأیید و انتشار قرارداد توکن خود در BSCSCAN
  • وارد کردن نشانه به metamask

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

اجرای پیشنهاد توکن BEP-20

یک نشانه BEP-20 به توابع خاصی نیاز دارد تا حساب های دیگر بتوانند به درستی با آن ارتباط برقرار کنند. شما می توانید به این موارد همانطور که در پیشنهاد رسمی BEP-20 بیان شده است ، نگاهی بیندازید. توصیه می کنم از طریق این پیشنهاد بخوانید تا خود را با کارکردهای مورد نیاز آشنا کنید.

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

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

برای اهداف این آموزش ، ما پیشنهاد پایه BEP-20 را پیاده سازی خواهیم کرد و اجازه می دهیم تا به مینینگ و سوزاندن نشانه ها بپردازیم. شما می توانید این کار را حتی بیشتر به عنوان یک تمرین گسترش دهید تا بیشتر با کار با نشانه ها آشنا شوید.

چند پیش نیاز برای کدگذاری یک نشانه BEP-20 وجود دارد:

پس از کدگذاری توکن در ریمیکس ، می توانید آزمایش کرده و سپس آن را در یک شبکه عمومی مستقر کنید.

در حال حاضر ، Remix را باز کنید و یک پرونده جدید token. sol را تحت /قراردادها ایجاد کنید. اطمینان حاصل کنید که در ویرایشگر باز است.

بیایید کدگذاری نشانه BEP-20 را شروع کنیم!

مجوز و نسخه استحکام را که توکن در آن نوشته شده است اعلام کنید (ما از آخرین نسخه 0. 8 و بالاتر استفاده خواهیم کرد.

// SPDX-License-Identifier: GPL-3.0 pragma solidity>= 0. 8. 0 ؛

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

توکن قرارداد

در مرحله بعد، بیایید متغیرها و رویدادهای مورد نیاز برای اجرای استاندارد توکن BEP-20 را یک به یک مقداردهی کنیم:

توکن قراردادuint256) public balanceOf; /* This creates a mapping of accounts with allowances */ mapping (address => mapping (address =>uint256)) کمک هزینه عمومی;/* این رویداد همیشه در یک فراخوان موفقیت آمیز روش های انتقال، transferFrom، mint و bu فعال می شود */ event Transfer(آدرس نمایه شده از، آدرس نمایه شده به، مقدار uint256);/* این رویداد همیشه در یک فراخوان موفقیت آمیز روش تایید فعال می شود */ event Approve(آدرس مالک نمایه شده، آدرس خرج کننده ایندکس شده، مقدار uint256);. ادامه کد در زیر (1)

اگر پیشنهاد را بخوانید، متوجه خواهید شد که متغیرها با برخی از توابع همنام هستند. این مفید است زیرا در Solidity نسخه 0. 8 و بالاتر، متغیرهای عمومی به طور خودکار توابع گیرنده را تولید می کنند.

بنابراین، در واقع، ما توابع زیر را به صورت خودکار در دسترس خواهیم داشت:

  • نام()
  • سمبل()
  • اعداد اعشاری()
  • totalSupply()
  • مالک()
  • تعادل()
  • کمک هزینه ()

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

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

. کد از بالا ادامه می یابد (1) constructor(). ادامه کد در زیر (2)

اکنون می توانیم شروع به تعریف توابعی کنیم که به طور خودکار برای ما ایجاد نمی شوند. به یاد داشته باشید، همه متغیرهای عمومی دارای توابع دریافت کننده هستند که به طور خودکار توسط Solidity 0. 8 و بالاتر تعریف شده اند.

بیش از 200 هزار توسعه دهنده از LogRocket برای ایجاد تجربیات دیجیتال بهتر استفاده می کنند

بیشتر بدانید →

getOwner()

getOwner() آدرس صاحب توکن BEP-20 را برمی گرداند. این به سادگی متغیر مالک را که در سازنده مقداردهی اولیه کرده بودیم برمی گرداند.

. کد از بالا ادامه می یابد (2) تابع getOwner() نمای عمومی را برمی گرداند (آدرس). ادامه کد در زیر (3)

انتقال (آدرس _to, uint256 _value)

transfer(address _to, uint256 _value) مقدار مشخصی از توکن ها را به یک آدرس منتقل می کند. این تابع اساساً مقداری (_value) را از هر آدرسی که تابع نامیده می شود کسر می کند. سپس مبلغ کسر شده به آدرس مشخص شده در آرگومان ( _to ) اضافه می شود.

. کد از بالا ادامه می یابد (3) انتقال تابع (آدرس _به، uint256 _value) برمی گرداند عمومی (موفقیت bool)= 0, "Value must be greater or equal to 0"); require(senderBalance> _value, "Not enough balance"); balanceOf[msg.sender] = senderBalance - _value; balanceOf[_to] = receiverBalance + _value; emit Transfer(msg.sender, _to, _value); retu true;>. ادامه کد در زیر (4)

transferFrom(آدرس _from، آدرس _to، uint256 _value)

TransferFrom (آدرس _FROM ، آدرس _to ، uint256 _value) مقدار مشخصی از نشانه ها را از یک آدرس به آدرس دیگر منتقل می کند. این روش با انتقال متفاوت است به این معنا که به یک حساب اجازه می دهد تا نشانه ها را به نمایندگی از یک حساب دیگر منتقل کند.

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

مثال استفاده از این روش ، یک قرارداد هوشمند است که از طرف شما و/یا هزینه های شارژ توکن ها را منتقل می کند.

بشرکد از بالا ادامه می یابد (4) عملکرد انتقال از (آدرس _ از آدرس _to ، uint256 _value) بازده عمومی (موفقیت بول)= 0, "Value must be greater or equal to 0"); require(senderBalance> _value, "Not enough balance"); require(fromAllowance>= _value, "Not enough allowance"); balanceOf[_from] = senderBalance - _value; balanceOf[_to] = receiverBalance + _value; allowance[_from][msg.sender] = fromAllowance - _value; emit Transfer(_from, _to, _value); retu true;>بشرکد در زیر ادامه می یابد (5)

تأیید (آدرس _spender ، uint256 _value)

تأیید (آدرس _spender ، uint256 _value) به یک حساب (_spender) اجازه می دهد تا چندین بار از یک حساب دیگر (تماس گیرنده) خارج شود ، تا مقدار مشخص شده (_Value). این روش همان چیزی است که انتقال را امکان پذیر می کند زیرا یک حساب قادر به مجاز بودن حساب دیگر برای انتقال از طرف خود است.

بشرکد از بالا ادامه می یابد (5) عملکرد تأیید (آدرس _spender ، uint256 _value) بازده عمومی (موفقیت بول)0, "Value must be greater than 0"); allowance[msg.sender][_spender] = _value; emit Approve(msg.sender, _spender, _value); retu true;>بشرکد در زیر ادامه می یابد (6)

نعناع (uint256 _amount)

نعناع (uint256 _amount) به صاحب توکن اجازه می دهد تا یک مقدار مشخص (_amount) از نشانه های جدید ایجاد کند و آنها را به خود منتقل کند. این باعث افزایش کل منبع می شود.

مقالات عالی تر از Logrocket:

  • لحظه ای را با پخش مجدد ، یک خبرنامه سرپرستی از Logrocket از دست ندهید
  • بیاموزید که چگونه گالیله Logrocket از طریق سر و صدا کاهش می یابد تا مشکلات را در برنامه شما برطرف کند
  • برای بهینه سازی عملکرد برنامه خود از React's UseEffect استفاده کنید
  • بین چندین نسخه از گره جابجا شوید
  • کشف کنید که چگونه برنامه React خود را با Animxyz تحریک کنید
  • Tauri را کاوش کنید ، یک چارچوب جدید برای ساخت باینری
  • مقایسه Nestjs در مقابل express. js
بشرکد از بالا (6) عملکرد نعناع (uint256 _amount) بازده عمومی (موفقیت بول) ادامه داردبشرکد در زیر ادامه می یابد (7)

سوختن (uint256 _amount)

Bu (UINT256 _amount) به یک نگهدارنده توکن اجازه می دهد تا مقدار مشخصی از نشانه های موجود را از حساب خودشان سوزاند. این عملیات کل منبع را کاهش می دهد.

بشرکد از بالا ادامه می یابد (7) عملکرد سوختگی (UINT256 _amount) بازده عمومی (موفقیت بول)_amount, "Bu amount exceeds balance"); balanceOf[msg.sender] -= _amount; totalSupply -= _amount; emit Transfer(msg.sender, address(0), _amount); retu true;>بشرپایان همه کد

کد منبع شما باید دقیقاً مانند موارد فوق به نظر برسد.

استقرار قرارداد توکن با استفاده از ریمیکس

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

قبل از شروع کار ، ما نیاز داریم:

  • یک مرورگر با MetaMask نصب شده است تا بتوانیم معامله استقرار قرارداد توکن را از طریق ریمیکس و همچنین تعامل با توکن امضا کنیم. این دستورالعمل ها را دنبال کنید تا با شبکه زنجیره ای هوشمند Binance Right SetupMetamaskAsk
  • برخی از BNB برای پرداخت هزینه استقرار یک قرارداد جدید. اگر در حال اعزام به TestNet هستید ، به BSC Testnet Faucet بروید و با استفاده از حساب کاربری که در مرحله قبل تنظیم کرده اید ، از وجوه درخواست کنید. ممکن است چند ثانیه طول بکشد ، اما هنگامی که تأیید کردید که از طریق Metamask مقداری BNB دارید ، ادامه دهید

اکنون که Metamask را پیکربندی کرده ایم و برخی از BNB در حساب توسعه خود ، می توانیم پیش برویم و قرارداد توکن را به یک شبکه عمومی BSC مستقر کنیم.

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

در نوار کناری سمت چپ ، بر روی گزینه Compiler Solity (در زمان نوشتن ، گزینه دوم) کلیک کنید و روی Compile Token. Sol کلیک کنید.

روی گزینه Deploy و Run Transactions (گزینه سوم) کلیک کنید.

محیط را روی تزریق Web3 تنظیم کنید. یک فوریت Metamask باید از شما بخواهد که معامله را تأیید کنید. اگر این کار را نکرد ، اطمینان حاصل کنید که Metamask را در شبکه BSC سمت راست نصب و پیکربندی کرده اید.

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

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

تأیید و انتشار قرارداد توکن خود در BSCSCAN

پس از استقرار نشانه خود در یک شبکه عمومی ، ممکن است بخواهید کد منبع را در BSCSCAN تأیید کنید.

BSCSCAN ابزاری است که به شما امکان می دهد معاملات موجود در شبکه BSC را مشاهده کنید (هم Maiet و هم TestNet). هنگامی که کد منبع را در BSCSCAN تأیید می کنید ، مشروعیت اضافی را به این نشانه وام می دهید زیرا به همه این امکان را می دهد تا ببینند که در زیر کاپوت نشانه اتفاق می افتد.

خوشبختانه ، تا زمانی که به کد منبع دسترسی داشته باشید ، انجام این تأیید نسبتاً آسان است.

اول ، بیایید قرارداد مستقر شده را در BSCSCAN مشاهده کنیم (Walkthrough Full GIF در زیر).

به صفحه اصلی بروید. اگر به Maiet اعزام شده اید ، به BSCSCAN Maiet مراجعه کنید. اگر به TestNet مستقر شده اید ، به BSCSCAN TESTNET مراجعه کنید.

در آدرس قرارداد مستقر که از مرحله قبل در نوار جستجو کپی کرده اید ، چسبانده و به Enter ضربه بزنید.

شما باید جزئیات این نشانه را مشاهده کنید. روی برگه قرارداد زیر جزئیات توکن کلیک کنید.

روی Verify و Publish کلیک کنید و فرم را همانطور که در زیر مشاهده کرده است ، پر کنید.

اطمینان حاصل کنید که نسخه کامپایلر دقیقاً مشابه با ریمیکس است و قسمت مجوز به همان کد منبع تنظیم شده است (در این مورد ، مجوز عمومی GNU 3. 0). سپس ، روی ادامه کلیک کنید.

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

قرارداد توکن اکنون در BSCSCAN مستقر و تأیید شده است ، بنابراین اکنون می توان توکن را در Metamask وارد کرد و با آن معاملات انجام داد.

وارد کردن نشانه به metamask

اکنون که قرارداد توکن در یک شبکه عمومی مستقر شده است ، می توانیم دقیقاً مانند هر نشانه دیگری از طریق Metamask با آن ارتباط برقرار کنیم. با این حال ، چند قدم قبل از این امکان وجود دارد (پیاده روی کامل GIF در زیر).

ابتدا Metamask را باز کنید و اطمینان حاصل کنید که در شبکه مناسب قرار دارد. این باید یک شبکه زنجیره ای هوشمند Binance باشد.

در مرحله بعد ، اطمینان حاصل کنید که از همان حساب کاربری که قرارداد توکن را با آن مستقر کرده اید استفاده می کنید. همچنین اطمینان حاصل کنید که در برگه دارایی هستید و سپس روی Import Tokens کلیک کنید.

در آدرس قرارداد توکن مستقر که قبلاً کپی کرده اید ، بچسبانید. Metamask باید نماد توکن و اعشار را به طور خودکار بخواند.

با کلیک روی نشانه های واردات ، روی افزودن توکن سفارشی کلیک کنید و عملیات را تأیید کنید. خودشه!

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

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

اگر تا آخر این آموزش را دنبال کرده اید ، باید درک خوبی از پیشنهاد BEP-20 ، نحوه استفاده از ریمیکس برای کدگذاری و استقرار ، نحوه تأیید کد منبع توکن در BSCSCAN و نحوه واردات هر نشانه ای داشته باشید. با استفاده از آدرس توکن به metamask وارد شوید.

شما می توانید بر اساس این دانش توسط:

  • اجرای هرگونه قابلیت سفارشی اضافی
  • ساخت Adapp برای مصرف نشانه
  • ایجاد استخر نقدینگی برای نشانه

استقرار یک نشانه BEP-20 در زنجیره هوشمند Binance به اندازه آنچه تصور می کنید دشوار نیست. امیدوارم این آموزش به شما کمک کند تا شروع کنید!

به سازمان هایی مانند Bitso و Coinsquare بپیوندید که از Logrocket برای نظارت بر برنامه های Web3 خود استفاده می کنند

LogRocket Dashboard Free Trial Baer

مسائل مربوط به سمت مشتری که بر توانایی کاربران در فعال سازی و معامله در برنامه های شما تأثیر می گذارد ، می تواند به طور چشمگیری بر خط اصلی شما تأثیر بگذارد. اگر علاقه مند به نظارت بر مشکلات UX هستید ، به طور خودکار خطاهای JavaScript را ردیابی می کنید ، و درخواست های شبکه آهسته و زمان بارگذاری مؤلفه را ردیابی می کنید ، logrocket. https: //logrocket. com/signup/ را امتحان کنید.

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

نحوه اشکال زدایی برنامه های وب و تلفن همراه را مدرن کنید - نظارت را به صورت رایگان شروع کنید.< Pan> مسائل مربوط به سمت مشتری که بر توانایی کاربران در فعال سازی و معامله در برنامه های شما تأثیر می گذارد ، می تواند به طور چشمگیری بر خط پایین شما تأثیر بگذارد. اگر علاقه مند به نظارت بر مشکلات UX هستید ، به طور خودکار خطاهای JavaScript را ردیابی می کنید ، و درخواست های شبکه آهسته و زمان بارگذاری مؤلفه را ردیابی می کنید ، logrocket. https: //logrocket. com/signup/ را امتحان کنید.

استراتژی های مؤثر فارکس...
ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید

برچسب : نویسنده : توران میرهادی بازدید : <-PostHit-> تاريخ : جمعه 30 تير 1402 ساعت: 13:06