
blockchain جهان را به دست می گیرد. بیت کوین ، محبوب ترین ارز مجازی در حال حاضر ، محصولی از فناوری blockchain است. Ethereum محصول جانبی blockchain است. پس از افزایش بیت کوین به وجود آمد.
در حالی که بیت کوین فقط به ارزها متکی است ، اتریوم با تهیه یک ماشین مجازی و قراردادهای هوشمند که کاربران را قادر می سازد نشانه های خود را مستقر کنند ، یک قدم جلوتر می رود.
یک نشانه می تواند یک ارز مجازی ، یک اونس طلا ، بلیط قرعه کشی و غیره را نشان دهد. شما می توانید انواع نشانه ها را در Blockchain Ethereum توسعه دهید ، اما برای این آموزش ، ما بر نحوه ایجاد و استقرار ERC-20 تمرکز خواهیم کرد. نشانه
ما موارد زیر را با نمونه های عملی به تفصیل پوشش خواهیم داد:
ممکن است تعجب کنید ، "چرا باید نشانه خودم را ایجاد کنم؟"Blockchain ، Ethereum و Tokens در حال تبدیل شدن به بخش عظیمی از چشم انداز توسعه نرم افزار هستند. با یادگیری نحوه ایجاد یک نشانه در blockchain Ethereum ، خواهید فهمید که چگونه فناوری blockchain در زیر کاپوت کار می کند و از منحنی جلو می ماند.
برای دنبال کردن این آموزش ، باید حداقل درک اساسی از فناوری blockchain ، استحکام و نحوه عملکرد اتریوم داشته باشید. اگر به تازه کننده نیاز دارید ، نگران نباشید. ما قبل از شروع ساخت نشانه های خود ، اصول را مرور خواهیم کرد.
blockchain چیست و چگونه کار می کند؟
به زبان ساده ، یک blockchain سابقه معاملات در دفترچه یا بانک اطلاعاتی است که در بسیاری از شرکت کنندگان در یک شبکه توزیع می شود. این دفترچه شامل سوابق معاملات انجام شده در شبکه است.
معامله انتقال ارز یا مبلغ مشخصی از یک کاربر به کاربر دیگر در شبکه است. به عنوان مثال ، بیایید بگوییم آلیس 30BLC را به باب منتقل کرد. این معامله از نظر رمزنگاری شده و در دفترچه از یک گره خاص در شبکه ضبط شده است.
این گره این معامله را به گره های دیگر در شبکه ارسال می کند - یعنی معامله را به شبکه پخش می کند. گره های دیگر این معامله را دریافت می کنند ، معامله را با استفاده از یک روش تأیید استاندارد تأیید می کنند و سپس معامله را به دفترچه خود اضافه می کنند.
گره های موجود در شبکه به معاملات جدید که در شبکه پخش می شوند یا منتشر می شوند گوش می دهند ، سپس کار اضافه کردن معامله را به دفترچه های خود انجام می دهند. می بینیم که هر گره در شبکه دارای یک نسخه از دفترچه است. این مسئول ماهیت توزیع شده blockchain است.
کلمه "blockchain" از این واقعیت ناشی می شود که معاملات یا سوابق در یک زنجیره داخل دفترچه مرتبط است. معامله ، همانطور که قبلاً می دانیم ، مبادله ارز بین دو طرف در گره است. این می تواند در JSON مانند این نمایش داده شود:
این یک رکورد یا معامله ساده است. این به ما می گوید که باب 30BLC را به آلیس منتقل کرد.
اکنون ، این معامله در داخل یک بلوک ثبت شده است. بیایید یک معامله را در داخل یک بلوک در JSON ، مانند این:
بلوک مانند آرایه ای است که شامل اشیاء معاملات است. بنابراین این بلوک می تواند شامل بسیاری از معاملات باشد:
می توانید ببینید که این بلوک در کجا وارد می شود. زنجیره ای به این معنی است که این بلوک ها به یکدیگر مرتبط هستند. هر blockchain در ابتدا با یک بلوک پیدایش شروع می شود که خالق اضافه می کند و به شبکه پخش می شود.
هر بلوک همچنین دارای یک هش رمزنگاری است که به عنوان یک شناسه منحصر به فرد در شبکه عمل می کند. هیچ دو بلوک نمی توانند یک هش مشابه داشته باشند.

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

بیشتر بدانید
هنگامی که یک بلوک توسط گره ها تأیید می شود و به شبکه اضافه می شود ، این بلوک دارای یک نشانگر است که به هش آخرین بلوک در شبکه اشاره دارد.
اولین بلوک با Hash 0x0 بلوک Genesis است. بلوک بعدی با Hash 0x1 دارای یک PrevHash است که به 0x0 اشاره دارد. این به اولین بلوک شبکه اشاره دارد.
به این ترتیب ، هر بلوک جدیدی که در شبکه تلفیق می شود ، به آخرین بلوک فوری اشاره می کند. اینگونه است که "زنجیره" موجود در blockchain شکل می گیرد.
اتریوم چیست؟
Ethereum یک blockchain با ارز دیجیتالی به نام Ether (ETH) است. دقیقاً مانند یک blockchain عمومی ، معاملات در یک دفترچه ذخیره می شوند.
آنچه Ethereum را از سایر blockchains جدا می کند ، انعطاف پذیری آن است. در حالی که بسیاری از سیستم عامل های blockchain فقط از انتقال ارز پشتیبانی می کنند ، Ethereum شما را قادر می سازد تا هرگونه داده را از طریق blockchain منتقل کرده و قیمت را با اتر بپردازید.
اتریوم چگونه کار می کند؟
همانطور که در بالا ذکر شد ، در blockchain Ethereum ، می توانیم هرگونه داده را منتقل کرده و قیمت آن را با اتر بپردازیم.
دقیقاً همانطور که در مثال بالا با ارز BLC معامله کردیم ، blockchain Ethereum معاملات ETH را تسهیل می کند. بیایید بگوییم آلیس 1 ETH را به باب منتقل می کند. این معامله توسط گره های موجود در شبکه تأیید می شود و معاملات به بلوک های موجود در blockchain اضافه می شوند.
فعالیتی به نام معدن وجود دارد که مستلزم کار برای یک اتر است. این کار شامل حل محاسبات سخت توسط آزمایش و خطا است. این کار را می توان با هر گره در شبکه انجام داد. گره ای که با موفقیت محاسبه را حل می کند ، مقدار مشخصی از ETH اعطا می شود. مشکل کار با استخراج معاملات بیشتر افزایش می یابد.
مقالات عالی تر از Logrocket:
- لحظه ای را با پخش مجدد از دست ندهید ، یک خبرنامه سرپرستی از Logrocket چگونه گالیله Logrocket از طریق سر و صدا کاهش می یابد تا به طور پیش بینی کننده مشکلات در برنامه شما برطرف شود
- برای بهینه سازی عملکرد برنامه خود از React's UseEffect استفاده کنید
- بین چندین نسخه از Node Resction برنامه React خود را با Animxyz تغییر دهید ، یک چارچوب جدید برای ساخت باینری
- مقایسه Nestjs در مقابل express. js
هر زمان که معامله ای در blockchain Ethereum آغاز شود ، معامله توسط یک گره معدن در شبکه استخراج می شود. فرستنده معامله باید موافقت کند که مبلغ مشخصی از ETH را به گره بپردازد که معامله را معدن می کند. به این قیمت گاز گفته می شود.
قراردادهای هوشمند چیست؟
اتریوم چیزی به نام قراردادهای هوشمند دارد. قراردادهای هوشمند حاوی کدی هستند که در blockchain Ethereum اجرا می شوند.
قراردادهای هوشمند به زبان استحکام نوشته شده و در یک کد ABI گردآوری شده اند. این کد ABI به blockchain Ethereum مستقر شده است. قرارداد هوشمند آدرس خارجی فرستنده را به علاوه غیرقانونی مخلوط می کند تا آدرس خود را در blockchain اتریوم تشکیل دهد.
قراردادهای هوشمند ما را قادر می سازد تا قراردادهای دیجیتالی ایجاد کنیم. این قراردادهای دیجیتالی ، دقیقاً مانند قراردادهای موجود در دنیای واقعی ، اجازه می دهند معاملات توسط دو یا چند طرف در blockchain اتریوم انجام شود.
یک قرارداد هوشمند نوعی حساب در اتریوم است. این بدان معنی است که توسط کاربر کنترل نمی شود و آنها می توانند معاملات را در blockchain ارسال کنند. به عنوان یک حساب کاربری ، قراردادهای هوشمند تعادل دارند و حاوی یک کد EVM هستند.
نشانه های ERC-20 چیست؟
دستگاه مجازی Ethereum (EVM) یک ماشین مجازی است که در آن کد استحکام کامپایل شده ABI اجرا می شود. این قراردادهای هوشمند در اتریوم به یک استاندارد جهانی در ایجاد چندین نشانه تبدیل شده است. این استانداردها به عنوان استانداردهای درخواست اتریوم برای اظهار نظر (ERC) شناخته شدند.
اتریوم استانداردهای زیادی دارد ، اما محبوب ترین و گسترده ترین آنها ERC-20 و ERC-721 است. ERC-20 برای ایجاد نشانه ها استفاده می شود در حالی که ERC-721 برای توسعه نشانه های غیر قابل تغییر (NFT) استفاده می شود.
ERC-20 ، استاندارد پیشنهادی Fabian Vogelsteller ، یک قرارداد هوشمند است که شامل مجموعه ای از API ها است. ERC20 مجموعه ای از قوانین را تعریف می کند که در مورد همه نشانه هایی که استاندارد ERC-20 را انتخاب می کنند ، اعمال می شود.
همانطور که در بالا ذکر شد ، ERC-20 می تواند برای ایجاد ارزهای مجازی مانند بیت کوین و اتر استفاده شود. از مشهورترین توکن های ساخته شده با استفاده از استاندارد ERC-20 ، Binance Coin Bnb و Shiba Shabu هستند.
نشانه های ERC-20 را می توان ارسال و دریافت کرد. آنها نشانه های قارچ هستند ، به این معنی که ارزش آنها در همه جا در blockchain یکسان است.
طبق پشتیبانی blockchain. com ، کیف پول و صرافی ها از استاندارد برای ادغام انواع مختلف نشانه های ERC-20 بر روی سیستم عامل های خود استفاده می کنند و مبادلات بین نشانه های ERC-20 و سایر ارزهای رمزنگاری شده را تسهیل می کنند.
اکنون که می فهمیم استاندارد ERC-20 چیست ، بیایید به بدن یک نشانه ERC-20 نگاه کنیم.
بدن ERC-20
بدنه یک نشانه ERC-20 شامل روش ها و رویدادهایی است که یک نشانه ERC-20 باید داشته باشد.
یک نشانه ERC-20 باید بتواند:
- توکن ها را از یک حساب به حساب دیگر منتقل کنید
- مانده حساب یک حساب را برگردانید
- کل نشانه های موجود در توکن را برگردانید
- انتقال نشانه ها به یک حساب کاربری
در عمل ، ERC-20 در استحکام چیزی شبیه به این است:
روشهای زیر می تواند در یک نشانه ERC-20 در دسترس باشد:
- نام نام توکن را برمی گرداند (به عنوان مثال ، سکه Binance)
- نماد نماد توکن را برمی گرداند (به عنوان مثال ، BNB)
- Demimals تعداد اعشار را که نشانه استفاده می کند باز می گرداند
- TotalSupply تعداد کل تهیه شده به توکن را برمی گرداند
- BalanceOof مانده حساب را برمی گرداند
- انتقال مقدار مشخصی از نشانه ها را به یک آدرس منتقل می کند
- TransferFrom مقدار مشخصی از نشانه ها را از آدرس ذینفع به آدرس گیرنده منتقل می کند
- تصویب نشانه ها از آدرس مالک تا مقدار مشخصی از نشانه ها
- کمک هزینه تعداد نشانه های قابل برداشت از حساب مالک را برمی گرداند
همچنین می توان رویدادها را روی نشانه ما ثبت کرد تا در هنگام انتشار رویدادهای خاصی را ضبط کنیم.
نشانه های ERC-20 وقایع زیر را دارند:
- انتقال ، که باید هنگام انتقال نشانه ها شروع شود
- تصویب ، که باید هنگام تأیید یک حساب برای جمع آوری مقدار مشخصی از نشانه ها ایجاد شود
ایجاد یک نشانه ERC-20
با استفاده از اطلاعات پس زمینه از راه ، اجازه دهید یک نشانه ساده بنویسیم. ما آن را سکه دوم می نامیم
در خط اول کد ، شناسه مجوز را تنظیم کردیم و نسخه استحکام کد برای آن نوشته شده است. در اینجا ، کد استحکام ما برای استحکام v0. 7. 0-0. 9. 0 است. ما قرارداد خود را با استفاده از کلمه کلیدی قرارداد اعلام کردیم و سپس نام NDCOOINERC20 را به آن دادیم.
وقایع نشانه را تنظیم کنید
ما انتقال و تأیید رویدادها را در قرارداد خود اعلام خواهیم کرد:
نام ، نماد و اعشار را تنظیم کنید
در مرحله بعد ، ما نام نشانه خود ، نماد آن و اعشاری را برای استفاده تنظیم می کنیم:
نام توکن ما سکه دوم است و نماد ما NDN است. ما اعشار را 18 سالگی قرار دادیم.
نقشه تعادل و کمک هزینه ها را تنظیم کنید
بعد ، ما دو نقشه را اعلام خواهیم کرد:
نقشه برداری در استحکام شبیه به یک جفت ارزش کلیدی است. بنابراین در توازن ، یک آدرس مهم است در حالی که UINT256 (عدد صحیح بدون امضا 256 بیت) مقدار است.
با توجه به اسناد استحکام ، یک نوع آدرس یک مقدار 160 بیتی است که هیچ عملیاتی حساب نمی کند. این مناسب برای ذخیره آدرس های قراردادها یا هش از نیمی از عموم یک جفت کلیدی متعلق به حساب های خارجی است.
توازن آدرس یک آدرس uint256 int را ترسیم می کند:
| نشانی | uint256 |
| 0x01 | 23 |
| 0x02 | 10 |
| 0x03 | 2 |
یک آدرس به تعادل آن اشاره دارد. نقشه برداری مجاز همچنین یک جفت ارزش کلیدی است که آدرس ها را به نقشه برداری دیگر نقشه می کند. این آخرین نقشه برداری نقشه ها به مقادیر واحد 256 آنها می پردازد. این امکان را به شما می دهد تا تعداد نشانه هایی را که می توان به گیرنده منتقل کرد ، ذخیره کنید.
عرضه کل را اعلام کنید
خط بعدی کد به شرح زیر است:
این تعداد نشانه های موجود در قرارداد ما را ذخیره می کند.
میزان کل عرضه و مانده ها را تعیین کنید
بعد ، ما سازنده را داریم. ما می دانیم که سازندگان هنگام ایجاد کلاس فراخوانی می شوند. در قراردادهای هوشمند ، هنگام اعزام قرارداد به شبکه ، سازنده فراخوانده می شود.
در اینجا ، سازنده با تعداد کل نشانه هایی که می خواهیم در قرارداد خود باشیم (کل) فراخوانی می شود. کل روی TOTALSUPPLY_ تنظیم شده است ، و مانده آدرس استقرار در کل نشانه ها تنظیم شده است. msg. sender شامل حساب اتریوم عملکرد قرارداد در حال حاضر در حال اجرا است.
تعادل یک مالک را بدست آورید
در خط بعدی ، ما روش تعادل را خواهیم داشت:
این روش یک استدلال ، Tokenower دارد. این استدلال آدرس صاحب توکن است که می خواهیم تعادل توکن را در قرارداد برگردانیم. بنابراین این روش با مراجعه به آدرس Tokenower از توازن ، تعادل را بدست می آورد.
انتقال نشانه ها به یک حساب کاربری
روش انتقال است:
این روش استدلال های زیر را دارد:
- گیرنده، آدرس حسابی که توکن ها را دریافت می کند
- numTokens، تعداد توکن هایی است که به حساب گیرنده ارسال می شود
در متن روش، می بینیم که بررسی می شود تا تأیید شود که تعداد توکن هایی که باید به گیرنده ارسال شوند، مطابق با موجودی آدرس توزیع کننده کافی است.
در مرحله بعد، numTokens از موجودی توزیع کننده کم می شود و به موجودی گیرنده واریز می شود. سپس، یک رویداد انتقال منتشر می شود. در نهایت، درست بولی باز می گردد.
انتقال رمز را تأیید کنید
روش بعدی تایید است:
این متد دارای آرگومان هایی به نام delegate و numTokens است.
- delegate آدرسی است که می خواهیم تعداد توکن هایی را که Deployer می تواند به آن ارسال کند را تعیین کنیم
- numTokens تعداد توکن هایی است که توسعه دهنده می تواند برای نماینده ارسال کند
در بدنه متد، ما به نقشه نماینده در نگاشت مجاز ارجاع می دهیم تا تعداد توکن ها را به آن تنظیم کنیم. سپس، رویداد Approval را منتشر می کنیم و true را برمی گردیم.
وضعیت کمک هزینه یک حساب را دریافت کنید
روش کمک هزینه است:
این متد دارای آرگومان های زیر است: مالک و نماینده. مالک آدرسی است برای بازگرداندن تعداد نشانه های قابل انتقال به گیرنده در نمایندگی .
توکن ها را از یک حساب به حساب دیگر منتقل کنید
روش انتقال توکن ها از یک حساب به حساب دیگر transferFrom است:
transferFrom دارای args به نام مالک، خریدار و numTokens است.
مالک آدرس موجودی است که از آن خریدار numTokens را منتقل می کنیم آدرس موجودی است که به numTokens اعتبار می دهیم numTokens تعداد توکن هایی است که باید از مالک به خریدار منتقل شود.
در بدنه متد ابتدا بررسی می کنیم که آیا موجودی موجود در مالک کافی است و آیا مالک برای ارسال آن مقدار توکن برای خریدار تأیید شده است یا خیر.
سپس، انتقال با کم کردن تعداد توکن ها از موجودی مالک و موجودی مجاز انجام می شود. سپس تعداد توکن ها به موجودی خریدار اضافه می شود. رویداد Transfer ساطع می شود و درست بولی بازگردانده می شود.
کد کامل
استقرار یک توکن در شبکه آزمایشی اتریوم
اکنون، اجازه دهید قرارداد خود را در شبکه اتریوم مستقر کنیم - خوب، در واقع نه شبکه اتریوم، بلکه یک شبکه آزمایشی اتریوم. ما نمی توانیم قرارداد خود را در شبکه واقعی اتریوم مستقر کنیم زیرا هزینه واقعی دارد. از آنجایی که ما فقط در حال تمرین هستیم، از این شبکه آزمایشی استفاده می کنیم و یک ETH رایگان را برای استقرار قرارداد خود انتقال می دهیم.
ما توکن خود را در شبکه آزمایشی Ropsten مستقر خواهیم کرد و قرارداد هوشمند خود را در Remix جمع آوری می کنیم، همچنین از MetaMask برای ایجاد کیف پول در شبکه آزمایشی اتریوم استفاده خواهیم کرد.
پسوند metamask را روی مرورگر دسک تاپ خود نصب کنید. یک حساب کاربری ایجاد کنید و اکنون آن را ترک کنید. بعداً به آن باز خواهیم گشت.
بعد ، به ریمیکس بروید و یک پرونده . sol جدید ایجاد کنید. ما آن را ND_COIN. SOL نام خواهیم گذاشت و قرارداد هوشمند خود را در بخش فوق در آنجا قرار خواهیم داد:

حالا بیایید ETH رایگان دریافت کنیم!
اگر پسوند metamask خود را باز کنیم ، خواهیم دید که 0 ETH داریم. اما ما می توانیم ETH رایگان از شبکه تست Ropsten دریافت کنیم. ما باید آدرس حساب خود را از MetaMask کپی کنیم ، سپس آن را در صفحه https://faucet. ropsten. be جایگذاری کرده و روی Ether Ether Send Me کلیک کنیم.

درخواست ما صف خواهد شد و بعد از گذشت تقریباً سه دقیقه ، 0. 3 ETH را در حساب ETH Metamask خواهیم دید.

اکنون ، ما می توانیم قرارداد هوشمند خود را به شبکه تست Ropsten مستقر کنیم.
به داشبورد ریمیکس برگردید و روی آرم Ethereum در داشبورد کلیک کنید. این صفحه ای را بارگیری می کند که بتوانیم معاملات را مستقر و انجام دهیم.
در نوار کناری سمت چپ ، خواهیم دید که قرارداد nd_coin. sol ما از قبل انتخاب شده است و حساب در metamask ما قبلاً به عنوان آدرس استقرار تنظیم شده است. در محیط ، خواهیم دید که JavaScript VM (لندن) برای ما انتخاب شده است.

بیایید آن را تغییر دهیم تا شبکه استقرار ما شبکه Ropsten ما باشد. بر روی کشویی کلیک کنید و Entected Web3 را انتخاب کنید. ما باید (0. 3 اتر) را در بخش حساب درست در کنار آدرس استقرار خود ببینیم. اکنون ما آماده هستیم تا قرارداد هوشمند خود را مستقر کنیم.
ما باید مقدار اصلی نشانه هایی را که در نشانه ما معامله می شود وارد کنیم. این را در ورودی کنار دکمه استقرار وارد کنید. 100 را وارد کرده و روی دکمه Deploy کلیک کنید.

این کار پسوند metamask ما را باز می کند و از ما می خواهد تا معامله معلق را تأیید کنیم. بر روی دکمه تأیید در پنجره Metamask کلیک کنید.

این قرارداد هوشمند ما را در شبکه تست Ropsten مستقر می کند.

اکنون ، در صفحه ریمیکس ما ، اگر در نوار کناری سمت چپ حرکت کنیم ، نام روش ها را در قرارداد هوشمند خود و ورودی در کنار آنها مشاهده خواهیم کرد.

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

ما با موفقیت یک نشانه ERC-20 را در یک شبکه اتریوم ایجاد و مستقر کرده ایم.
نتیجه
این آموزش ما را با یک سرگرمی سرگرم کننده کرد. ما با معرفی blockchain و Ethereum شروع کردیم ، سپس به ERC-20 رسیدیم و جزئیات آن را در معرض دید قرار دادیم و چگونه به وجود آمد.
بعداً ، ما بدنه ERC-20 را مورد تجزیه و تحلیل قرار دادیم و در مورد روش ها و وقایع موجود در یک نشانه ERC-20 و آنچه انجام می دهند بحث کردیم.
سرانجام ، ما یک نشانه ساده در استحکام ایجاد کردیم و آن را به شبکه تست Ropsten مستقر کردیم.
چیزهای بیشتری برای کشف وجود دارد ، اما این آموزش باید به شما کمک کند تا به دنیای نشانه های ERC شروع کنید.
به سازمان هایی مانند Bitso و Coinsquare بپیوندید که از Logrocket برای نظارت بر برنامه های Web3 خود استفاده می کنند

مسائل مربوط به سمت مشتری که بر توانایی کاربران در فعال سازی و معامله در برنامه های شما تأثیر می گذارد ، می تواند به طور چشمگیری بر خط اصلی شما تأثیر بگذارد. اگر علاقه مند به نظارت بر مشکلات UX هستید ، به طور خودکار خطاهای JavaScript را ردیابی می کنید ، و درخواست های شبکه آهسته و زمان بارگذاری مؤلفه را ردیابی می کنید ، logrocket. https: //logrocket. com/signup/ را امتحان کنید.
Logrocket مانند DVR برای برنامه های وب و تلفن همراه است و هر آنچه را که در برنامه وب یا سایت شما اتفاق می افتد ، ضبط می کند. به جای حدس زدن چرا مشکلات ، می توانید در مورد معیارهای کلیدی عملکرد جلو ، جمع آوری و گزارش مجدد جلسات کاربر به همراه وضعیت برنامه ، درخواست های شبکه ورود به سیستم و به طور خودکار همه خطاها را پخش کنید. در نهایت ، ما یک نشانه ساده در استحکام ایجاد کردیم و آن را به شبکه تست Ropsten مستقر کردیم.
تحليلات الفوركس...
ما را در سایت تحليلات الفوركس دنبال می کنید
برچسب :
نویسنده : یکتا ناصر
بازدید : <-PostHit->
تاريخ : شنبه
27 اسفند
1401 ساعت: 13:38