ایرانیان جهان

آخرين مطالب

آموزش ساخت توکن رمزارز بر بستر اتریوم، بایننس اسمارت‌چین و ترون ایالات متحده آمریکا

آموزش ساخت توکن رمزارز بر بستر اتریوم، بایننس اسمارت‌چین و ترون
  بزرگنمايي:

ایرانیان جهان - با توسعه تکنولوژی بلاک‌چین افراد بیشتری شروع به ساخت ارزهای دیجیتال کرده‌اند. در این مقاله، نحوه ایجاد توکن‌های رمزارز در بلاک‌چین‌های اتریوم، ترون و بایننس اسمارت‌چین را توضیح خواهیم داد.

در این مقاله آموزش ساخت توکن‌های رمزارز را در سه بلاک‌چین مطرح اتریوم، ترون و بایننس اسمارت‌چین بررسی خواهیم کرد. ابتدا به نحوه ساخت توکن‌های ERC-20 در بلاک‌چین اتریوم خواهیم پرداخت و کد نوشته‌شده در این بستر را بررسی خواهیم کرد. با انجام این کار، ارزی خواهیم داشت که معامله‌شدنی است و موجودی عرضه‌‌شدنی‌اش را خودمان تعیین می‌کنیم. درادامه با داشتن پایه‌ای در ساخت توکن، به‌سراغ ساختن توکن BEP20 در بستر بایننس اسمارت‌چین و در‌نهایت توکن TRC-20 در بلاک‌چین ترون خواهیم رفت. نیازی به گفتن نیست که در این راه داشتن دانش برنامه‌نویسی به درک کامل فرایند ساخت توکن کمک خواهد کرد. در آموزش حاضر، توکن‌های رمزارز را می‌توان در هر سیستم‌عاملی ایجاد کرد. توکن‌ های ایجاد‌شده بهایی ندارند؛ ولی می‌توان آن‌ها را به کیف‌پول دیجیتالتان منتقل کنید. نکته مهم اینکه مقاله حاضر صرفا جنبه آموزشی دارد و در ساخت توکن‌ها باید به قوانین کشوری توجه کنید. توکن ساخته‌شده صرفا در شبکه آزمایشی ایجاد شده‌اند و ارزش پولی ندارند. قراردادهای هوشمند (Smart Contracts)
به زبان ساده، قراردادهای هوشمند کدهایی هستند که روی بلاک‌چین اجرا و برای اپلیکیشن‌ها یا خدمات خاصی طراحی شده‌اند. برای مثال، اگر می‌خواهید اپلیکیشن رأی‌گیری طراحی کنید، قرارداد هوشمند منطق رأی‌گیری موردنیازی است که روی بلاک‌چین اجرا می‌شود. قبل از ساخت رمزارز، باید ابتدا پلتفرم بلاک‌چینی را انتخاب کنید که مناسب کارتان باشد. بزرگ‌ترین بلاک‌چین قراردادهای هوشمند تاکنون اتریوم است؛ اما کارمزدهای زیاد اتریم باعث شده است توسعه‌دهندگان به فکر ساخت قراردادهای هوشمندشان روی سایر بلاک‌چین‌ها ازجمله زنجیره‌‌ی هوشمند بایننس یا ترون بیفتند. آموزش ساخت توکن ERC-20 در بلاک‌چین اتریوم

ایرانیان جهان

مقاله‌های مرتبط:
ERC-20 چیست؛ آشنایی با استاندارد توکن اتریوم آموزش گام‌به‌گام ساخت و فروش توکن NFT
کیف‌پول دیجیتال متامسک (Metamask) در نقش درگاهی به اپلیکیشن‌های بلاک‌چین عمل می‌کند. این والت به‌عنوان افزونه‌ای به مرورگر اضافه می‌شود. پیشنهاد می‌شود که از مرورگر گوگل کروم استفاده کنید. والت متامسک نسخه موبایل نیز دارد که پس از ایجاد توکن، می‌توانید به‌راحتی از آن برای انتقال و ذخیره‌سازی رمزارزهای خود استفاده کنید. برای دانلود افزونه متامسک برای گوگل کروم روی این لینک کلیک کنید. پس از اتمام نصب افزونه، صفحه زیر را مشاهده می‌کنید. این صفحه‌ را می‌توانید از قسمت افزونه‌های مرورگر نیز باز کنید.

ایرانیان جهان

گزینه سمت راست، یعنی ساخت والت را انتخاب کنید.

ایرانیان جهان

همان‌گونه که در تصویر بالا مشاهده می‌کنید با کلیک روی تصویر قفل، 12 کلمه برایتان نمایش داده می‌شود. این همان عبارات بازیابی ذکر شده است.

ایرانیان جهان

ایرانیان جهان

برای ساخت توکن به مقداری اتر نیاز دارید. این مقدار اتر صرف پرداخت کارمزدهای شبکه اتریوم هنگام ساخت توکن لازم می‌شود. از این وب‌سایت مقداری اتر آزمایشی دریافت کنید. حتما برنامه عبور از تحریمتان را فعال کنید؛ وگرنه اتری به والت شما انتقال داده نمی‌شود.

ایرانیان جهان

4. ساخت توکن
برای شروع فرایند ساخت توکن به وب‌سایت remix.ethereum وارد شوید و از قسمت اشاره‌شده در تصویر پایین، فایلی جدید ایجاد کنید.

ایرانیان جهان

نام توکنی را وارد کنید که می‌خواهید ایجاد کنید؛ ولی دقت کنید پسوند sol. را از انتهایش حذف نکنید. سپس کد زیر را در قسمت ویرایشگر کد در سمت راست وارد کنید.
pragma solidity 0.6.6;
// ----------------------------------------------------------------------------
// " ZoomitToken " token contract
//
// Deployed to : 0x8414ECE0334E764fC68d8e37D593BEAcA6c23204
// Symbol : ZIT
// Name : Zoomit
// Total supply: 10000
// Decimals : 0
//
// Enjoy.
//
// (c) by Ahiwe Onyebuchi Valentine.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
contract SafeMath {
function safeAdd(uint a, uint b) public pure returns (uint c) {
c = a + b;
require(c >= a);
}
function safeSub(uint a, uint b) public pure returns (uint c) {
require(b 0);
c = a / b;
}
}
// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
abstract contract ERC20Interface {
function totalSupply() virtual public view returns (uint);
function balanceOf(address tokenOwner) virtual public view returns (uint balance);
function allowance(address tokenOwner, address spender) virtual public view returns (uint remaining);
function transfer(address to, uint tokens) virtual public returns (bool success);
function approve(address spender, uint tokens) virtual public returns (bool success);
function transferFrom(address from, address to, uint tokens) virtual public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
abstract contract ApproveAndCallFallBack {
function receiveApproval(address from, uint256 tokens, address token, bytes memory data) virtual public;
}
// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
address public owner;
address public newOwner;
event OwnershipTransferred(address indexed _from, address indexed _to);
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address _newOwner) public onlyOwner {
newOwner = _newOwner;
}
function acceptOwnership() public {
require(msg.sender == newOwner);
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
newOwner = address(0);
}
}
// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract Zoomit is ERC20Interface, Owned, SafeMath {
string public symbol;
string public name;
uint8 public decimals;
uint public _totalSupply;
mapping(address => uint) balances;
mapping(address => mapping(address => uint)) allowed;
// ------------------------------------------------------------------------
// Constructor
// ------------------------------------------------------------------------
constructor() public {
symbol = " ZIT ";
name = " Zoomit ";
decimals = 0 ;
_totalSupply = 10000 ;
balances[ 0x8414ECE0334E764fC68d8e37D593BEAcA6c23204 ] = _totalSupply;
emit Transfer(address(0), 0x8414ECE0334E764fC68d8e37D593BEAcA6c23204 , _totalSupply);
}
// ------------------------------------------------------------------------
// Total supply
// ------------------------------------------------------------------------
function totalSupply() public override view returns (uint) {
return _totalSupply - balances[address(0)];
}
// ------------------------------------------------------------------------
// Get the token balance for account tokenOwner
// ------------------------------------------------------------------------
function balanceOf(address tokenOwner) public override view returns (uint balance) {
return balances[tokenOwner];
}
// ------------------------------------------------------------------------
// Transfer the balance from token owner"s account to to account
// - Owner"s account must have sufficient balance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transfer(address to, uint tokens) public override returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner"s account
//
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// recommends that there are no checks for the approval double-spend attack
// as this should be implemented in user interfaces
// ------------------------------------------------------------------------
function approve(address spender, uint tokens) public override returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
return true;
}
// ------------------------------------------------------------------------
// Transfer tokens from the from account to the to account
//
// The calling account must already have sufficient tokens approve(...)-d
// for spending from the from account and
// - From account must have sufficient balance to transfer
// - Spender must have sufficient allowance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transferFrom(address from, address to, uint tokens) public override returns (bool success) {
balances[from] = safeSub(balances[from], tokens);
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(from, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Returns the amount of tokens approved by the owner that can be
// transferred to the spender"s account
// ------------------------------------------------------------------------
function allowance(address tokenOwner, address spender) public override view returns (uint remaining) {
return allowed[tokenOwner][spender];
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner"s account. The spender contract function
// receiveApproval(...) is then executed
// ------------------------------------------------------------------------
function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
return true;
}
// ------------------------------------------------------------------------
// Don"t accept ETH
// ------------------------------------------------------------------------
// function () external payable {
// revert();
// }
// ------------------------------------------------------------------------
// Owner can transfer out any accidentally sent ERC20 tokens
// ------------------------------------------------------------------------
function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
return ERC20Interface(tokenAddress).transfer(owner, tokens);
}
}

ایرانیان جهان

برای شخصی‌سازی توکن ساخته‌شده، قسمت‌های مذکور را به مقادیر دلخواه تغییر می‌دهیم: در خط 4 (رنگ آبی)، عنوان قرارداد هوشمند را تغییر دهید. در اینجا، ZoomitToken وارد شده است. در خطوط 6 و 120 و 121 (رنگ سبز) آدرس اتریوم ساخته‌شده خود را در متامسک که در شبکه راپستن است، با عبارت واردشده جایگزین کنید. در خطوط 7 و 116 (رنگ قرمز)، درمقابل عبارت Symbol، نام توکنتان را به‌اختصار وارد کنید. در اینجا ZIT وارد شده است. خطوط 8 و 102 و 117 (رنگ بنفش) را به نام توکنتان تغییر دهید. در اینجا Zoomit وارد شده است. در خطوط 118 و 119 (رنگ زرد)، می‌توانید به‌ترتیب تعداد رقم اعشار را تغییر دهید که نشانگر قابلیت تقسیم‌پذیری توکن و کل موجودی توکن است. مقدار پیش‌فرض رقم اعشار 18 است؛ یعنی هر توکن را می‌توان به 18 قسمت تقسیم کرد و کوچک‌ترین واحد توکن انتقال‌پذیر شما یک‌هجدهم خواهد بود. در این مثال، برای این پارامترها به‌ترتیب 1 و 10000 وارد شده است؛ یعنی در کل 10000 توکن ZIT با یک رقم اعشار، ایجاد خواهیم کرد.

ایرانیان جهان

مطابق تصویر بالا، به نماد چک‌مارک در سمت چپ بروید که مربوط به تب Compile است. در میان گزینه‌ها، «Enable Optimizations» را غیرفعال کنید. همچنین دقت کنید گزینه اول کامپایلر که نشان‌دهنده نسخه کامپایلر است، مطابق با خط اول کد باشد. حال به تب بعدی در سمت چپ و در زیر تب کامپایل بروید. در قسمت Contract، نام توکنتان را فهرست پایین‌افتادنی انتخاب کنید و دکمه Deploy را فشار دهید.

ایرانیان جهان

دقت کنید که در شبکه راپستن و نه در شبکه Mainnet باشید. پس از زدن تأیید، دوباره متامسک را باز و روی اولین تراکنش کلیک کنید. درادامه به وب‌سایت Etherscan ، مرورگر بلاک‌چین اتریوم، بروید تا تراکنشتان را پیگیری کنید. ممکن است تأیید تراکنش‌ها حداکثر 30 ثانیه طول بکشد. دقت کنید در این وب‌سایت نیز شبکه آزمایش راپستن را انتخاب کرده باشید. بعد از تأیید تراکنش، چیزی شبیه تصویر زیر خواهیم داشت.

ایرانیان جهان

روی آدرس قراردادتان کلیک و تب Code را باز کنید.

ایرانیان جهان

دوباره از مطابقت نسخه کامپایلر با خط اول کد مطمئن شوید و سپس روی «تأیید و انتشار» کلیک کنید. درصورت موفقیت، ByteCode و ABI همانند تصویر زیر ایجاد خواهد شد.

ایرانیان جهان

8. اضافه‌کردن توکن به کیف‌پول
حال اگر توکنتان تأیید شده باشد، مقدار اولیه توکن‌های ایجاد‌شده (در اینجا 10000 توکن) را می‌توانید دریافت کنید. همانند تصویر زیر آدرس قرارداد را کپی و در قسمت متامسک > Add Token

ایرانیان جهان

آموزش ساخت توکن BEP20 بر بستر اسمارت‌چین بایننس (Binance Smart Chain)

ایرانیان جهان

ابتدا از‌طریق این لینک وارد اپلیکیشن CoinTool شوید. علاوه‌بر مرورگر با نصب تراست‌والت ( لینک دانلود تراست والت )، از قسمت DApps و واردکردن آدرس cointool.app/bnb/BSCCreateToken این مراحل را می‌توانید انجام دهید.

ایرانیان جهان

حال که توکنتان را ایجاد کردید، با انجام مراحل زیر می‌توانید آن را درون تراست والت مشاهده کنید:

ایرانیان جهان

از قسمت بالا سمت راست و نماد دو اسکرول، وارد قسمت جست‌وجو توکن شوید. به انتهای فهرست بروید و Add Custom Token را فشار دهید.

ایرانیان جهان

TRC20 استاندارد توکن در شبکه ترون (Tron) است. شبکه ترون این استاندارد را برای فعال‌سازی امکان ساخت قراردادهای هوشمند در بلاک‌چینش ایجاد کرده است. از مزایای توکن‌های TRC20 می‌توان به سرعت درخورتوجه و کارمزد اندک تراکنش اشاره کرد. مراحل ساخت توکن TRC20
1. در مرورگر کروم، افزونه TronLink را ازطریق این لینک دانلود و نصب کنید. همچنین با مراجعه به لینک وب‌سایت ترون، می‌توانید والت آن را دانلود کنید. 2. برای ساخت توکن حساب کاربری ایجاد کنید. قبل از ایجاد توکن مطئمن شوید که در والت ترون خود 10 توکن TRX دارید.

ایرانیان جهان

3. کد قرارداد هوشمند مبتنی‌بر TRC20 خود را آماده کنید. از این لینک می‌توانید به کدی نمونه دسترسی داشته باشید. از لینک ذکرشده فایل Token.sol را ویرایش کنید و مقادیر token name ،token symbol ،precisoin و totalsupply را تغییر دهید. منظور از precision همان decimals در بخش‌های قبلی است.

ایرانیان جهان

فایل قرارداد هوشمند را بارگذاری کنید.

ایرانیان جهان

قرارداد را کامپایل کنید. دقت کنید نسخه کامپایلر 0.5.10 باشد.

ایرانیان جهان

ایرانیان جهان

قراردادتان را ازطریق گزینه Deploy اعمال کنید. توجه کنید که باید قرارداد Token را انتخاب کنید؛ زیرا Token قرارداد اصلی است.

ایرانیان جهان

Confirm را انتخاب کنید و سپس در پنجره بازشده که حاوی امضای ترون‌لینک است، Accept را انتخاب کنید.

ایرانیان جهان

پس از اعمال موفقیت‌آمیز قرارداد، آدرس قرارداد را یادداشت و ذخیره کنید.

ایرانیان جهان

همچنین، می‌توانید ازطریق وب‌سایت tronscan و واردکردن آدرس قرارداد، صفحه اصلی قرارداد را جست‌وجو کنید.

ایرانیان جهان

برای تأیید روی بارگذاری فایل قرارداد کلیک کنید. درادامه تیک I am not robot و سپس تأیید و انتشار را بزنید.

ایرانیان جهان

7. با استفاده از Tronacan و ابزار ثبت، توکن TRC20 خود را ثبت کنید (از این لینک ). پس از بازکردن لینک، در صفحه‌نمایش‌داده‌شده نوع توکن را انتخاب کنید.

ایرانیان جهان

بعد از واردکردن تمامی اطلاعات، Next را بزنید.

ایرانیان جهان

در پنجره باز‌شده، صدور توکن را باید تأیید کنید. پس از زدن تأیید، ترون‌لینک از شما امضا درخواست می‌کند. قبول را بزنید و پیام را امضا کنید.

ایرانیان جهان


لینک کوتاه:
https://www.iranianejahan.ir/Fa/News/244971/

نظرات شما

ارسال دیدگاه

Protected by FormShield
مخاطبان عزیز به اطلاع می رساند: از این پس با های لایت کردن هر واژه ای در متن خبر می توانید از امکان جستجوی آن عبارت یا واژه در ویکی پدیا و نیز آرشیو این پایگاه بهره مند شوید. این امکان برای اولین بار در پایگاه های خبری - تحلیلی گروه رسانه ای آریا برای مخاطبان عزیز ارائه می شود. امیدواریم این تحول نو در جهت دانش افزایی خوانندگان مفید باشد.

ساير مطالب

روزنامه‌های اقتصادی چهارشنبه 29 فروردین

گره‌گشایی 16 بنگاه اقتصادی در کارگروه تسهیل فارس

پیام تسلیت نماینده ولی فقیه در بنیاد شهید و امور ایثارگران در پی درگذشت پدر شهیدان والامقام دهنوی

قدرت و اقتدار نیروهای مسلح ایران امروز در اوج است

رسانه عبری: احساس ناامنی موجب گرانی در اسرائیل شده است

71 فقره کلاهبرداری با ترفند مشارکت در فعالیت اقتصادی

نگاه مثبت تشکلات کارگری و کارفرمایی به اقدامات دولت سیزدهم

فراخوان درگاه ملی مجوز‌های الکترونیکی

افزایش تعاملات منطقه‌ای از سیاست‌های مهم دولت سیزدهم است

وزیر دارایی اسرائیل شرایط اقتصادی تل آویو را وخیم توصیف کرد

توقیف 30 هزار لیتر سوخت قاچاق در قم

کشف 30 هزار لیتر سوخت قاچاق در قم

بهره‌وری در بخش کشاورزی استان بوشهر افزایش یابد

مجلس جدید قوانینی را وضع کند که تحولات اقتصادی را به دنبال داشته باشد

گوشت کیلویی 700 هزار تومان قابل انکار نیست

علیرضابیگی: گوشت کیلویی 700 هزار تومان قابل انکار است؟

فعالان بخش خصوصی: با تعطیلی پنچشنبه ها، قطع ارتباط هفتگی ایران با بازارهای جهان 4روز می شود

کیهان: عامل اصلی مشکلات اقتصادی کشور، پدرخوانده‌ های حامی برجام هستند!

تازه‌ترین اوضاع شرکت‌های تولیدی صندوق‌ بازنشستگی صنعت نفت بررسی شد

با افزایش نرخ رسمی ارز، بازار غیررسمی مهار نمی‌شود

اعلام جزئیات تأمین مالی زنجیره تأمین در سال 1403

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

درباره وضعیت بازار ارز، هفته‌ آینده حتما جلسه‌ای را برگزار خواهیم کرد

قرارگیری خریداران ارز در زیر چتر مالیاتی

نماینده مجلس: کل تیم اقتصادی دولت باید تغییر کند حتی معاونین و مشاورین؛ دچار بحران فکری شده اند

اختصاص 30 درصد از مالیات واحدهای تولیدی به عمران گناباد

نفع نوسان نرخ ارز برای دولت چیست؟/ روایت جدید وزیر اقتصاد را بخوانید

مرحله دوم عملیات وعده صادق

خاندوزی: نوسانات نرخ ارز هیچ نفعی برای دولت ندارد

بازارسازی برای فروش نفت و استفاده از دستاورد‌های دانش بنیانی بسترساز رشد اقتصادی 5.4 درصدی شد

نشست فعالان اقتصادی استان کرمان با سرکنسول روسیه + تصاویر

کلاهبرداری از شهروندان نیشابوری با ترفند مشارکت در فعالیت اقتصادی

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

کرمان میزبان همایش بین‌المللی راه ابریشم

تعاونی‌های حوزه فرهنگ و هنر در استان‌ها فعال شوند

سفر سرپرست اداره کل بنیاد شهید و امور ایثارگران استان ایلام به شهرستان ایوان

اهداف ایران خودرو در سال جهاد اقتصادی

مدیران دولتی مقابله با قاچاق را در اولویت قرار دهند

تاکید استاندارآذربایجان شرقی بر لزوم اعتماد به جوانان در بخش اقتصادی

مخالفت کامل اتاق بازرگانی تهران با تعطیلی پنجشنبه‌ها

ضرورت اجرای دقیق قانون تازه تصویب ساماندهی تجارت مرزی

علیرضابیگی: گوشت کیلویی 700 هزار تومان قابل انکار است؟ /دولت اشکالات را نمی پذیرد چون توانایی اصلاح ندارد

کشف 12 هزار قوطی اکتان بنزین در جنوب تهران

پیش بینی بورس فردا چهارشنبه 29 فروردین 1402

تاکید رئیس‌جمهور بر اجرای دقیق قانون ساماندهی تجارت مرزی برای جلوگیری از قاچاق

تأکید رئیسی بر مقابله بی‌امان با قاچاق سوخت

جمعه و شنبه باید تعطیل شود

کنفدراسیون صادرات: جمعه و شنبه باید تعطیل شود

آمار بیکاری در انگلیس رکورد زد

ثبت گزارش جامعه هدف بنیاد شهید و مردم با مراجعه به سامانه سوت زنی