ساخت توکن روی بستر اتریوم، همه میتوانند توکن خاص خودشان را داشته باشند
چطور بر روی بلاکچین اتریوم، توکن بسازیم؟
در این مقاله میخواهیم ساخت توکن روی بستر اتریوم با قابلیت فروش در صرافیهای ارز دیجیتال را بررسی کنیم. این روزها طیف وسیعی از ICOها یا عرضه اولیه سکه دیجیتال وجود دارند. میتوان آنها را راهی برای جمعآوری بودجه پروژههای مهم در نظر گرفت.
برخی افراد علاقمندند که برای سرگرمی، یادگیری یا حتی کسبوکاری که در حال شروع آن هستند توکن ایجاد کنند. اما چالش پیش روی برنامهنویسی اتریوم، این است که منابع کافی برای آموزش انجام این کار وجود ندارد. این کار هنوز نوپاست و مستندات وبسایتهای برنامهنویسی پرسش و پاسخ برای آن کافی نیستند. اما در این مقاله یک توکن ساده ایجاد خواهیم کرد.
بهاینترتیب متوجه میشوید چطور در عرض یک ساعت توکنی روی اتریوم بسازید که بتوانید در پروژههایتان استفاده کنید.
این توکن یک توکن ERC20 خواهد بود. بهاینمعنیکه مقدار ثابتی برای ایجاد آن قرار میدهید و قوانین آن واقعی و محکم هستند. همچنین نشان میدهیم چطور آن را تایید کنید تا وجهه قانونی پیدا کند.
چطور روی بلاکچین اتریوم توکن بسازیم؟
درباره ویژگی های توکن خود تصمیم بگیرید
برای ساخت توکن روی بستر اتریوم که از نوع ERC20 باشد به موارد زیر نیاز دارید:
- نام توکن
- سمبول یا نماد توکن
- موقعیت اعشار توکن
- تعداد توکنهای در گردش
در توکنی که خواهیم ساخت موارد بالا را اینطور در نظر گرفتهایم:
- نام: The Most Private Coin Ever
- نماد: ؟؟؟
- مکان اعشار: صفر
- میزان توکن در گردش: 100.000
مکان اعشار جایی است که برای اغلب توکنها مشکلساز میشود. اکثر توکنها دارای 18 موقعیت اعشاری هستند بهاینمعنیکه میتوانید .0000000000000000001 بخش از یک توکن داشته باشید.
زمان ساخت توکن روی بستر اتریوم دقت کنید که چه مقدار اعشار میخواهید و آیا این مقدار اعشار، با پروژهای که در ذهنتان هست هماهنگی دارد یا خیر.
مثلا درمورد توکنی که اینجا میسازیم، میخواستم همه چیز ساده باشد و افراد، یا توکنی داشته باشند یا نداشته باشند. چیزی بین این دو نباشد. بنابراین من صفر را انتخاب کردم. یعنی شما نمیتوانید بخشی از یک توکن را داشته باشید.
اما شما اگر بخواهید افراد بخشی از توکن را داشته باشند میتوانید عددی برای آن انتخاب کنید یا عدد 18 را که یک استاندارد است بگذارید.
کدنویسی قرارداد
اینجا قراردادی است که میتوانید کد آن را برای ایجاد توکن ERC20 خود کپی و جایگذاری کنید. برای کد منبع به TokenFactory مراجعه کنید.
برای دانلود کد اینجا کلیک کنید.
کد ساخت توکن روی بستر اتریوم را درون ویرایشگری که دوست دارید مثل Sublime کپی کنید. حالا میخواهیم هر جا که نوشته شده “CHANGE THESE VARIABLES FOR YOUR TOKEN” را با اطلاعات توکن خودمان جایگزین کنیم. به این ترتیب باید موارد زیر را تغییر دهیم:
- نام توکن
- نماد توکن (بیش تر از 4 کاراکتر نباشد)
- موقعیت اعشار توکن
- مقداری که مالک میخواهد با آن شروع کند
- میزان توکنهای در گردش (برای سادگی، این را مقدار برابر ذخیره مالک قرار میدهیم)
این موارد را به خاطر داشته باشید.
مقدار ذخیرهای که برای توکن تعیین میکنید مربوط به میزان مکان اعشاری است که تنظیم کردهاید.
مثلا اگر میخواهید توکنی با موقعیت اعشار صفر بسازید تا 100 توکن داشته باشید، آنگاه میزان ذخیره آن 100 توکن است. اما اگر توکنی با موقعیت اعشار 18 دارید و میخواهید 100 تا از آن بسازید ذخیره آن 100.000.000.000.000.000.000 خواهد بود (18 تا صفر به این میزان اضافه میشود).
میزان توکنهایی که بهعنوان سازنده توکن دریافت میکنید را مشخص کنید. این مقدار با خط کد زیر مشخص میشود.
balances[msg.sender] = NUMBER_OF_TOKENS_HERE;
هرمقداری که اینجا مشخص کنید، به محض بستن قرارداد به کیف پول اتریوم ارسال میشود. ما مقدار آن را برابر با کل ذخیره توکن گذاشتیم. بنابراین همه توکنها دریافت میشود. اگر میخواهید توکن پیشرفتهتر باشد میتوانید قوانین مختلفی برای آن تنظیم کنید مثلا بنیانگذاران مختلف پروژهها چه مقدار توکن دریافت کنند.
وقتی همه متغیرها وارد شد زمان استقرار آن روی بلاکچین و تست کردن فرا میرسد.
توکن را در TestNet تست کنید
سپس قرارداد ساخت توکن روی بستر اتریوم را وارد تست نت میکنیم تا ببینیم آیا کار میکند یا خیر. اینکه قراردادی را روی شبکه اصلی ببریم، هزینه آن را بپردازیم و بعد شاهد شکست آن باشیم سخت است.
برای تسهیل کار میتوانید متاماسک (MetaMask) را که واسط سادهای برای تست توکن دارد دانلود کنید.
وقتی متا ماسک را نصب کردید. وارد شده و شبکه تست Ropsten را نصب کنید. اگر روی قسمت بالا سمت چپ کلیک کنید به شما Main Ethereum Network یا شبکههای اصلی اتریومی که میتوانید آنها را به Ropsten تغییر دهید، نشان میدهد. برای تایید، بالای پنجره MetaMask خود دنبال چیزی شبیه این باشید.
این کیف پول مالک قرارداد خواهد بود پس مراقب باشید گم نشود. اگر نمیخواهید متاماسک باشید میتوانید برای ایجاد قراردادها از Mist یا MyEtherWallet هم استفاده کنید. برای سادگی بیشتر، پیشنهاد استفاده از متامسک را میدهیم و شما همیشه میتوانید کلید خصوصی را برای استفاده بعدی به MyEtherWallet بفرستید.
اکنون به کامپایلر Solidity Remix بروید. این یک کامپایلر آنلاین است که امکان انتشار مستقیم قراردادهای هوشمند را در بلاکچین میدهد. کد قرارداد را در آنجا کپی کنید. چیزی شبیه تصویر زیر میبینید:
حالا در سمت راست به قسمت تنظیمات بروید و نسخه انتشار کامپایلر را مشخص کنید. همینطور تیک Enable Optimization را بردارید. چیزی مثل تصویر زیر خواهید دید:
نسخه کنونی Solidity را در کامپایلر یادداشت کنید. بعدا برای بررسی کد قرارداد به آن نیاز خواهید داشت. حالا به زبانه Contract برگردید و دکمه Create را که زیر نام توکنی قرار دارد که ایجاد کردید، بزنید.
بهاینترتیب دکمه Create زیر TutorialToken را بزنید.
اگر MetaMask متاماسک از شما بخواهد برای انجام تراکنش Submitرا فشار دهید چه اتفاقی خواهد افتاد؟ به یاد داشته باشید که این تستنت Ropsten است نه اتر واقعی. میتوانید قبل از کلیک روی این دکمه دوباره چک کنید تا مطمئن شوید که روی شبکه متاماسک هستید.
وقتی Submit را زدید به شما میگوید Contract Pending است. وقتی حاضر شد روی Date کلیک کنید. این کار تراکنش را به EtherScan میبرد مثل تصویر زیر:
اگر روی تاریخ کلیک کنید، با صفحهای شبیه تصویر زیر مواجه میشوید:
این فرآیند کار میکند و حالا زمان بررسی کد منبع است. در غیر این صورت از شما خواسته میشود که به کد برگردید و آن را اصلاح کنید.
دقیقا نمیتوان گفت این فرآیند چطور است، اما اینجاست که داشتن ذهن برنامهنویسی به کمکتان میآید. ممکن است خطاهای زیادی در کد رخ دهد که اگر برنامهنویسی بلد باشید بهتر از عهده آن برمیآیید.
توکن را بررسی کنید
حالا ببینیم ساخت توکن روی بستر اتریوم و ارسال آن به من چطور خواهد بود.
آدرس قراردادی که در اطلاعات تراکنش لیست شده را کپی کنید (با توجه به تصویر بالا). در این مورد 0x5xxxxxxxxxxxxxxxx است. میخواهیم ان را به زبانه Tokens متاماسک اضافه کنیم.
وقتی روی دکمه «+» کلیک کنید، میتوانیم چیزی را که کپی کردهایم اینجا قرار دهیم و اطلاعات آن به صورت اتوماتیک به توکن اضافه میشود. مثل تصویر زیر:
حالا دکمه Add را بزنید.
خوب است. میگوید من 100 توکن دارم که ایجاد کردهام. کد کار میکند.
حالا میتوانم توکنها را ارسال کنم یا به شخص دیگری بفروشم.
کد منبع را تأیید کنید
این گام به دلایل مختلفی اهمیت دارد که دلیل اصلی آن تایید اعتبار توکن ایجادشده برای عموم است. از نظر فنی مهم نیست و توکن شما حالا هم قابل استفاده از اما اگر این گام را بردارید مردم متوجه میشوند عملکرد شما شفاف است.
وقتی در صفحه Transaction گام قبلی هستید روی جایی که نوشته [Contract xxxxxx Created] در To: field کلیک کنید. این قراردادی است که ما منتشر کردهایم.
سپس روی زبانه Contract Code کلیک کنید.
دکمه Verify and Publish را بزنید و احتمالا این صفحه را خواهید دید:
اینجا همانجایی است که باید تنظیمات درستی برای ساخت توکن روی بستر اتریوم انجام داده باشید. حالا آدرس قرارداد وارد میشود. در مورد نام قرارداد مطمئن شوید که نام تابعی را که تغییر دادهاید، برای توکن سفارشی خود وارد کردهاید. پیشنهاد من توکن ERC20 بود، اما اگر نامش را تغییر دادهاید اینجا وارد کنید. مثلا در اینجا TutorialToken میگذاریم.
درمورد کامپایلر، SAME را انتخاب کنید که برای کامپایلر Solidity استفاده کردید. در غیر این صورت قادر به بررسی کد اصلی نخواهید بود.
مطمئن شوید که Optimization غیرفعال است. سپس کد را از کامپایلر در قسمت Contract Code کپی کنید و دکمه submit را بزنید.
اگر مراحل را درست طی کرده باشید چیزی مثل تصویر زیر میبینید:
که به این معنی است که تایید شده است.
اگر به صفحه Contract address بروید. میبینید که Contract Source روی Yes و تایید شده است.
در غیر این صورت، دوباره گامها را بررسی کنید.
توکن را در شبکه اصلی قرار دهید
حالا که همه چیز کار میکند، زمان بکارگیری آن روی شبکه اصلی است تا بقیه مردم هم از آن استفاده کنند. این کار سادهایست.
گام 3 و 4 را انجام دهید اما بهجای اتصال به شبکه تست Ropsten ، به MainNet متصل شوید. اطمینان حاصل کنید که حساب MetaMask درحالت Mainnet قرار دارد.
برای اینکار باید قرارداد خود را با اتر واقعی سرمایهگذاری کنید که ممکن است چند ده دلار هزینه داشته باشد.
توکن را تأیید شده در Etherscan قرار دهید
این مرحله در ساخت توکن روی بستر اتریوم اجباری نیست، اما موجب اعتبار بیشتر توکن شما میشود. در این گام باید به صفحه Etherscan Contact Us Page بروید و ایمیلی با محتویات زیر به آنها ارسال کنید.
- Ensure that you token contract source code has been verified
- Provide us with your Official Site URL:
- Contract Address:
- Link to download a 28x28png icon logo:
برای اینکار باید وبسایتی درباره توکنی که ایجاد کردهاید نیز داشته باشد. آنها جواب میدهند و خواهند گفت که آن را تایید کردهاند یا خیر. به یاد داشته باشید که Etherscan سرویس متمرکزی است. بنابراین ممکن است اگر توکن شما را شایسته ندانند، آن را تایید نکنند.
جمع بندی
حالا یک توکن روی ETH MainNet یا شبکه اصلی اتریوم دارید که افراد دیگر میتوانند از آن استفاده کنند. میتوانید آن را برای دیگران ارسال یا از آنها این توکن را دریافت کنید. برای خرید و فروش، باید آن را در لیست صرافیها وارد کنید.