در این مقاله، یک توکن ارز دیجیتال مبتنی بر اتریوم را با استفاده از یک قرارداد هوشمند ایجاد کرده و آن را در یک شبکه بلاک چین مستقر خواهیم کرد.
معرفی
من کمی در مورد افزایش Web3 کنجکاو بودم و می خواستم در مورد آن بیشتر بدانم. با افزایش صحبت ها در مورد NFT ها، Web3 من را کنجکاو کرد تا آن را کشف کنم، و در اینجا چیزهایی است که هنگام ایجاد رمز ارز دیجیتال خود پیدا کردم.
قبل از شروع، اجازه دهید اتریوم چیست؟
اتریوم
اتریوم در سال 2015 با هدف اجازه دادن به چیزی فراتر از یک ارز دیجیتال مبتنی بر بلاک چین تاسیس شد. این اجازه می داد تا برنامه های کاربردی توزیع شده مبتنی بر بلاک چین ایجاد شوند که روی شبکه اتریوم کار کنند. شبکه اتریوم دارای ارز دیجیتال مخصوص به خود بود که اتر (ETH) نام داشت و برنامه های کاربردی توزیع شده که در این شبکه اتریوم اجرا می شوند Dapps نامیده می شوند. در این مقاله می توانید در این مورد بیشتر بخوانید
بنابراین در این مقاله، یک توکن جدید ایجاد می کنیم که بر اساس استاندارد توکن ERC-20 است. این پرکاربردترین استاندارد توکن است که قوانین پیاده سازی توکن های مبتنی بر اتریوم را تعریف می کند. این توکن ها را می توان از طریق شبکه اتریوم آورده، فروخت و داد و ستد کرد.
با این بیایید شروع کنیم.
ایجاد یک قرارداد هوشمند
حال، قرارداد هوشمند چیست؟
این یک برنامه خوداجرایی است که در بلاک چین ذخیره می شود. این برنامه مانند توافق بین خریدار و فروشنده است که در خطوط کد نوشته شده است.
برای ایجاد این قرارداد هوشمند، ما قصد داریم از ابزاری به نام ترافل استفاده کنیم.
شما می توانید این را با استفاده از دستور نصب کنید
npm نصب- گرم ترافل
پس از نصب ابزار، می توانید با استفاده از دستور یک قرارداد خالی ایجاد کنید
ابتدا ترافل
با این کار ساختاری از پوشه ها مانند زیر ایجاد می شود.
اکنون در پوشه قراردادها، اجازه دهید اولین قرارداد خود را ایجاد کنیم.
از آنجایی که ما در حال ایجاد قرارداد برای یک توکن هستیم که بر اساس قرارداد ERC-20 است، باید این پایه را پیاده سازی کنیم. این در قراردادهای OpenZeppelin در Github موجود است.
پس بیایید این را با استفاده از دستور زیر نصب کنیم.
npm @openzeppelin/contracts را نصب کنید
قراردادهای هوشمند با استفاده از زبان Solidity نوشته می شوند و دارای پسوند فایل . sol هستند. بیایید قرارداد ERC-20 را برای ایجاد قرارداد خود به نام NiceToken تمدید کنیم.
استحکام پراگما^0.8.2; وارد كردن "@openzeppelin/contracts/token/ERC20/ERC20. sol"; قراردادNiceTokenاستERC20 سازنده() ERC20("سکه زیبا", "خوب") > تابع نعناع(آدرس حساب,مقدار uint256) عمومی _نعناع(حساب,میزان); > >
این یک قرارداد ساده است که فقط قرارداد ERC-20 را تمدید می کند که در آن نام نشانه خود و نماد نشانه خود را مشخص می کنیم.
با این کار ، اجازه دهید این را با ترافل کامپایل کنیم.
ترافل کامپایل
با این کار دستور SOLC را بر اساس نسخه تعریف شده در truffle-config. js می کشد
در مرحله بعد ، بیایید اکنون این کار را به blockchain Ethereum مستقر کنیم.
تنظیم شبکه blockchain محلی
به جای استفاده از شبکه واقعی Ethereum ، ما با استفاده از ابزاری به نام Ganache ، شبکه blockchain خود را بر روی سیستم خودمان اجرا خواهیم کرد.
پس از بارگیری ابزار سیستم عامل خود ، آن را اجرا کنید و گزینه Quick Start را انتخاب کنید. این یک شبکه blockchain با چند حساب ایجاد می کند.
این شبکه در "http: // localhost: 7545" به عنوان سرور RPC قابل دسترسی خواهد بود. اکنون برای اتصال ترافل به این شبکه ، پیکربندی زیر را به truffle-config. js اضافه خواهیم کرد
مدول.صادر کردن = شبکه های: توسعه: میزبان: "127. 0. 0. 1", بندر: 7545, شناسه شبکه: "*", >, .
با انجام این کار ، اجازه دهید یک اسکریپت مهاجرت ایجاد کنیم که قراردادی را که ما ایجاد کردیم به شبکه blockchain Ethereum مستقر کنیم.
استقرار قرارداد هوشمند به blockchain.
برای استقرار قرارداد هوشمند ، باید یک پرونده استحکام مهاجرت ایجاد کنیم. در زیر پوشه مهاجرت ، ما از 1_initial_migration. js موجود استفاده خواهیم کرد و کد زیر را به آن اضافه خواهیم کرد.
محاصره کردن NiceToken =مصنوعی.نیاز("NiceToken") مدول.صادر کردن = درز تابع (مستقر) در انتظارمستقر.مستقر کردن(NiceToken) محاصره کردنبا ابله= در انتظار NiceToken.مستقر() // نعنا 200 nicetoken برای اولین حساب در انتظاربا ابله.نعناع('0x8d1be72bd7b79322d28c7185eb1346234c0a279b', '2000000000000000000') >
این قرارداد را مستقر کرده و سپس 200 توکن برای حساب با آدرس 0x8D1Be72BD7B79322D28C7185EB1346234C0A279B ایجاد می کند.
حال شما باید تعجب کنید ، من 200 نشانه ایجاد می کنم اما چرا حاوی 18 صفر اضافی است؟
این امر به این دلیل است که استاندارد ECR-20 مقدار توکن را با 18 صفر تعریف می کند. این را می توانید در مشخصات ECR-20 در اینجا مشاهده کنید.
با این کار بیایید قرارداد هوشمند را با دستور زیر مستقر کنیم.
ترافل مهاجرت می کند
پس از استقرار ، آدرس را در جایی که قرارداد در شبکه blockchain مستقر شده است ، همانطور که در خروجی زیر نشان داده شده است ، دریافت خواهید کرد.
1_initial_migration. js ====================== اعزام"NiceToken" --------------------- >معامله هش: 0x6CC049DC4BA3A2B35F6964E7E4C25ADC78A1E4C98A198397A8411FD706DC7A2D >بلوک ها:0ثانیه ها:0 >آدرس قرارداد: 0xDE928AC7259340545ED8FA290588A8B0076FF9F4 >شماره بلوک:1 >Timestamp را مسدود کنید:1642949701 >حساب: 0x8d1be72bd7b79322d28c7185eb1346234c0a279b >تعادل:99. 97412728 >گاز استفاده شده:1293636 (0x13bd44) >قیمت گاز:20گوی >مقدار ارسال شده:0اخلاق >هزینه کل:0. 02587272اخلاق >صرفه جویی در مصنوعات ------------------------------------- >هزینه کل:0. 02587272اخلاق
بعداً از این آدرس قرارداد در برنامه خود استفاده خواهیم کرد.
بنابراین با این کار ، ما فقط یک قرارداد هوشمند مستقر کردیم.
حالا وقتی به گانچ نگاه می کنم ، نمی بینم که هیچ چیز تغییر نکرده است ، اما چند اتر از حساب اول کاهش یافته است.
بنابراین 200 ارزش Nicetoken کجا رفت؟
برای تجسم نشانه ها ، ما می خواهیم از یک کیف پول cryptocurrency به نام metamask استفاده کنیم.
تجسم cryptocurrency در یک کیف پول رمزنگاری
پس از نصب Metamask از اینجا به عنوان یک پسوند کروم ، باید شبکه محلی blockchain را به تنظیمات کیف پول اضافه کنیم. همانطور که در زیر آمده است می توانید یک شبکه را به تنظیمات MetaMask اضافه کنید.
شناسه زنجیره ای معمولاً برای ابزار Ganache 1337 است.
در مرحله بعد ، ما باید آدرس حساب را با کلید خصوصی آن وارد کنیم. این می تواند با کلیک بر روی نماد کلید در کنار آدرس حساب در Ganache واقع شود.
توجه: هرگز کلید خصوصی خود را با کسی به اشتراک نگذارید. هرکسی که دارای کلید خصوصی شما باشد می تواند به حساب شما دسترسی پیدا کند. بنابراین "هرگز" آن را به اشتراک نگذارید و آن را مخفی نگه دارید.
اکنون با استفاده از این کلید خصوصی ، حساب را به کیف پول Metamask وارد می کنیم.
پس از وارد کردن حساب ، فقط مقادیر اتر (ETH) را مشاهده خواهید کرد.
برای نشان دادن مقادیر Nicetokens ، ما باید با استفاده از آدرس قرارداد هوشمند نشانه ها را وارد کنیم.
برای این کار ، روی "واردات واردات" کلیک کرده و آدرس قرارداد را یعنی 0XDE928AC7259340545ED8FA29058A8B0076FF9F4 مشخص کنید که ضمن استقرار قرارداد هوشمند ، به عنوان خروجی به دست آوردیم.
نتیجه
آنجا می رویم ، به موارد زیر رسیدیم:-
- یک قرارداد هوشمند برای یک نشانه جدید ERC-20 به نام "خوب" ایجاد کرد.
- قرارداد هوشمند را به یک شبکه محلی blockchain اعزام کرد.
- برخی از نشانه ها را برای یک حساب کاربری می کند.
- شبکه blockchain محلی را به کیف پول رمزنگاری Metamask متصل کنید.
- تعادل توکن را با استفاده از کیف پول Crypto Metamask برای یک حساب تجسم کرد.
در مقاله بعدی من در اینجا ، ما بررسی خواهیم کرد که چگونه می توانیم کیف پول cryptocurrency خودمان را برای ارسال و دریافت نشانه هایی از یک حساب به حساب دیگر با استفاده از Web3 ایجاد کنیم.
طبق معمول ، من کد را در GitHub بارگذاری کرده ام.
من به کاوش و یادگیری چیزهای جدید ادامه می دهم. اگر می خواهید آخرین روندها را بدانید و مهارت های توسعه نرم افزار خود را بهبود بخشید ، سپس در خبرنامه من در زیر مشترک شوید و همچنین مرا در توییتر دنبال کنید.
بازار فارکس...
ما را در سایت بازار فارکس دنبال می کنید
برچسب :
نویسنده : زکریا هاشمی
بازدید : <-PostHit->
تاريخ : پنجشنبه
9 شهريور
1402 ساعت: 12:01