سری آموزشی ساخت توکن - از ابتدا تا تست و پیاده‌سازی [ویدیو]

توکن چیست؟

  • تفاوت توکن (Token) و قرارداد هوشمند توکن (Token Smart Contract)
  • انواع توکن
  • تفاوت استاندارد ERC-20 و ERC-721

یک قرارداد توکن به سادگی یک قرارداد هوشمند اتریوم است. ارسال توکن ها به معنی صدا زدن تابعی در یک قرارداد هوشمند است که توسط کسی نوشته و در بلاکچین قرار داده (deploy) شده است.
یک قرارداد هوشمند چیزی بیشتر از مپ آدرس ها به موجودی حساب بعلاوه توابعی برای کم و زیاد کردن این موجودی نیست.
این موجودی نشان دهنده ی تعداد توکن ها است. وقتی میگوییم کسی توکن دارد که موجودی ان شخص در قرارداد توکن بیشتر از صفر باشد. این موجودی می تواند پول, امتیاز در بازی اسناد مالکیت, حق رای و … باشد. و هرکدام از این دارایی ها در قراردادهای توکن متفاوتی ذخیره می شوند.
تومان توی جیب شما یا بیتکوین (bitcoin) در کیف رمز ارز (Crypto Wallet) شما مثال اولیه از توکن fungible هستند. بلاکچین اولین بار با معرفی بیتکوین که از نوع توکن fungible است معرفی شد. اما ظرفیت بلاکچین خیلی بیشتر از ارز مجازی است. دارایی از هر نوعی می تواند روی بلاکچین ذخیره شود و برای انجام این کار توکن های non‑fungible معرفی شدند

26 پسندیده

کتابخانه اپن‌زپلین OpenZeppelin Library

استفاده از کتابخانه و قراردادهای openzeppelin به شما کمک می کند که هر گونه ریسکی را در پایین ترین حالت نگه دارید. این قراردادها کاملا آزمایش شده و امن هستند و تمام استانداردهای فعلی ERC را پیاده سازی می کنند.
در این ویدئو با تمام توابع استانداردی که یک توکن لازم است داشته باشد آشنا می شوید. همچنین هرکدام از این توابع در این ویدئو بررسی خواهند شد. همچنین با پیاده سازی استاندارد ERC-20 در کتابخانه openzeppelin آشنا خواهید شد.

16 پسندیده

پباده‌سازی توکن ERC-20

  • چگونه با استفاده از کتابخانه اپن‌زپلین٫ توکن بسازید؟
  • جزیات برنامه‌نویسی توکن ERC-20
    در این ویدئو با ابزار مورد نیاز برای ساخت توکن آشنا خواهید شد.
    Truffle: تروفل محبوب ترین framework توسعه برای Ethereum است که مأموریت دارد برنامه نویسی بلاکچین را کاملاً آسان کند.
    Ganache: به سرعت یک بلاکچین محلی Ethereum را راه اندازی میکند که می توانید برای اجرای تست ها ، اجرای دستورات, بررسی وضعیت و کنترل نحوه عملکرد بلاکچین از آن استفاده کنید.
    Node js: برای کار با قراردادهای هوشمند لازم است که node js را در سیتم عامل خود نصب داشته باشید.
    Visual studio: ویرایشگر کدی که در این آموزش از آن استفاده خواهیم کرد. شما می توانید ادیتور دلخواه خود را برای این کار داشته باشید.
    Solidity: در این ویدئو ما از extension solidity در visual studio استفاده خواهیم کرد.
    در این ویدئو با جزییات پیاده سازی ERC-20 در کتابخانه openzeppelin آشنا خواهیم شد.

15 پسندیده

آماده‌سازی برای Deployment

  • روش درست استفاده از ترافل Truffle برای پیاده‌سازی توکن بر روی شبکه اتریوم
    در این ویدئو یک توکن خیلی ساده با استفاده از کتابخانه openzeppelin ایجاد خواهیم کرد. خواهید دید که چطور با کمترین کد یک توکن استاندارد را ایجاد می کنیم.

8 پسندیده

تست توکن بر روی شبکه محلی

  • چگونه با استفاده از Ganache توکن خود را تست کنید؟
  • استفاده از اسکریپت‌های ترافل برای پیاده‌سازی و تست
    بعد از ساخت توکن لازم است که آن را در بلاکچین محلی, deploy کرده و تست های اولیه برای اطمینان از پیاده سازی درست آن را تست کنیم. در این ویدئو با دستورات ساده و اولیه انتقال قرارداد هوشمند به بلاکچین محلی و تست توابع آن آشنا می شوید.
    بلاکچین محلی ما توسط Ganache آماده شده که روند برنامه نویسی و تست آن را خیلی ساده کرده است.

8 پسندیده

سلام عایشه جان
من برای بیاده سازی توکن از همون اول به مشکل خوردم
کلا نمیتونم وارد اون محیط کد نویسی بشم

فرمودید سوال رو اینجا مطرح کنم تا بقیه استفاده کنن. البته شاید مبتدیانه باشه سوال به هر حال ببخشید. اسکرین ها رو میزارم
vs رو نصب دارم و اکستنشن سالیدیتی رو هم نصب کردم ولی نمیددونم مشکل از کجاست ؟ ممنون میشم راهنماییم کنید


این مال شماست که نمیتونم وارد بشم


منم اینجا گیر کردم

سلام
Aysha داره توی کامندلاین لینوکس یه پوشه می‌سازه و اونو مقداردهی اولیه می‌کنه
اما شما سیستم‌عاملتون ویندوز هست و ویژوال استودیو رو باز کردید
با توجه به اینکه ویندوزتون ۱۱ هست مراحل زیر رو انجام بدید:
۱. ترمینال رو باز کنید
۲. تایپ کنید: mkdir myToken
۳. توی مسیری که هستید پوشه‌ای با نام myToken ساخته می‌شه
۴. برید داخل پوشه :‌cd myToken
۵. آدرس رو با Truffle مقدار دهی اولیه کنید :‌truffle init (در صورتی‌که در مراحل قبل truffle رو به درستی نصب کرده باشید)
ادامه رو هم طبق ویدئو پیش برید

1 پسندیده

سلام برا من موقع دستور npm init @openzeppelin/contracts ارور میده
اینه E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@openzeppelin%2Fcreate-contracts - Not found
npm ERR! 404

  • فهرست موارد

npm ERR! 404 ‘@openzeppelin/create-contracts@latest’ is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\mvtrad\AppData\Local\npm-cache_logs\2022-01-18T19_56_54_145Z-debug-0.log
مشکل چیه؟

  • فهرست موارد

ممنون بابت کمکت تثریبا داره حل میشه مشکلم . ترافل و گنش و … همه رو نصب کردم فقط موقع اجرای ترافل این ارور رو میده ! ظاهرا میگه فایل ترافل disable شده از طرف مایکروسافت!! این رو هم یه راهنمایی بکنید ممنون میشم

کامند‌لاین‌تون رو Run as Administrator کنید.

1 پسندیده

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

ممنون دوست عزیز مشکل از تنظیمات ویندوز بود اون رو حل کردم ! اسکریبتها رو disable میکرد گشتم تو یوتیوب بیدا کردم enable کردم درست شد ! الان تو مرحله بعدی کتابخونه رو ارور میده

سلام آقا مسلم.
اینجا فاصله نداره.
اگر این مخیط براتون جدیده. سعی کنید دستورات رو جستجو و کپی کنید.
image

npm install @openzeppelin/contracts

سلام
چرا اینجا init استفاده کردید؟
لطفا این دستور رو چک کنید.

npm install @openzeppelin/contracts

1 پسندیده

ممنون عایشه جان درست شد همه چی حله


فقط الان یه فرق های کوچیکی هست مثلا مال شما safemath داره اینجایی که هایلایت کردم و مال من نداره ایا این تفاوتا باید باشه تو هر توکن یا جریانش چییه ممنون

1 پسندیده

سلام با کد npm install @openzeppelin/contracts درست شد اما محله بعدی اون sudo ارور میده میگه شناخته شده نیست

سلام ببخشید درست شد دستور رو بدون sudo اجرا کردم.اما هنگام کامپایل این ارور رو میده ورژن رو هم به 0.6.0 تغییر دادم بازم ارور میده.به نظرتون چیکار کنم
ممنون
Compilation failed. See above.
Truffle v5.4.29 (core: 5.4.29)
Node v16.13.2

C:\Windows\System32\NewToken>

سلام بالاخره درست شد ورژن هارو به 0.8.0 تغییر دادم مس اینکه آپدیت جدید هست

1 پسندیده

خیلی هم عالی :slight_smile: خواهش میکنم.
اون تفاوت نسخه های مختلف کتابخونه هست بر اساس تغییرات ورژن سالیدیتی.
مثلا safe math از کنابخانه حذف شده. دلیلش هم اینه که تو نسخه ی جدیدتر سالیدیتی کنترل overflow و underflow انجام میشه و نیازی به استفاده ازش نیست.

1 پسندیده