Многие новички и даже эксперты полагают, что такие понятия, как «монета» и «токен», очень близки по смыслу и практически взаимозаменяемы. Но это ошибка, поскольку на самом деле эти термины означают разные вещи как с функциональной, так и с технической стороны. Дальше мы расскажем, чем именно они отличаются, а также обозначим, как можно
создать свою монету и как запустить свой токен.
1. Привязка к блокчейну
Bitcoin (BTC), Ethereum (ETH) и Monero (XMR) — это популярные примеры криптовалютных «монет», а Basic Attention Token (BAT), Chainlink (LINK), Tether (USDT), Storj, VeChain (VET) — это популярные примеры токенов. С точки зрения привязки к блокчейну разница между ними в том, что криптомонеты существуют в собственных независимых реестрах, тогда как токены работают на базе «чужого» блокчейна. Другими словами,
монета имеет свой блокчейн, а токен — нет.
Например, монета BTC существует в блокчейне Биткоина, ETH в блокчейне Эфириума, XMR в блокчейне Monero, а все вышеперечисленные токены запущены на базе блокчейна Ethereum. При этом эти и большинство других токенов создаются не с нуля, а посредством стандартных протоколов (шаблоны запуска), которые задают их ключевые характеристики и функциональность.
Таких протоколов довольно много, причем одна сеть блокчейна может иметь сразу несколько шаблонов. Так, в сети Ethereum обычно используют протокол ERC-20 для запуска взаимозаменяемых токенов или ERC-721 для запуска невзаимозаменяемых токенов. Но помимо них в Ethereum также можно использовать протоколы ERC-223, ERC-777, ERC-820, ERC-821, ERC-827, ERC-1155 и прочие.
Помимо Эфириума, запускать свои токены также можно с помощью блокчейнов Binance Smart Chain, Tezos, TRON, NEO, NEM, Waves, Nxt, Lisk, Stellar, Stratis и множества других площадок, ориентированных на смарт-контракты и dApps.
2. Основная функциональность (цель)
Другое существенное
отличие между токеном и криптовалютной монетой — их основная задача (цель создания). Как следует из самого названия, монеты обычно запускают в качестве средства платежа. Например, биткоины — это криптомонеты, созданные как альтернатива традиционным фиатным деньгам. С их помощью можно покупать-продавать товары и услуги в интернете и больше ничего.
Тогда как токены создают, чтобы использовать их для предоставления доступа к услуге или функционалу какой-то блокчейн-платформы. Например, Basic Attention Token (BAT) предоставляет доступ к маркетинговым инструментам браузера Brave. Посредством BAT рекламодатели оплачивают рекламные кампании, после чего эти токены распределяются между издателями — обычно сайтами — и пользователями Brave как компенсация за размещение рекламных баннеров и их просмотр.
Как следствие такого целеполагания, криптовалютные монеты обычно имеют характеристики, которые свойственны обычным деньгам: делимость, портативность, взаимозаменяемость и ограниченное предложение. Эти характеристики прописаны в блокчейне, и их нельзя изменить без софт- или хард-форка. Характеристики токенов при этом могут быть как аналогичными монетам, так и очень сильно отличаться от них. Так, NFTs (
Non-Fungible Token) могут быть неделимыми, уникальными, невзаимозаменяемыми и занимать очень много места на жестком диске.
3. Создание и развертывание токенов vs монет
Последней существенной разницей между криптомонетами и токенами является способ их создания. Монеты работают на базе блокчейнов, причем это может быть как цепочка, созданная полностью с нуля, так и цепочка, созданная через хард-форк уже существующей валюты. Токены же можно запустить за пару минут, если знать, что и как делать. Давайте разберемся, как именно это происходит.
Как запустить свой токен?
С технической точки зрения криптотокены создаются путем написания и развертывания смарт-контрактов в существующей цепочке блоков. Самая популярная блокчейн-платформа для запуска новых токенов — Ethereum. Самый распространенный стандарт Ethereum для запуска токенов — ERC-20. Этот протокол предусматривает 6 обязательных и 3 опциональных (но рекомендуемых) параметра для любого смарт-контракта. Подробно об этом можно прочесть на
официальном сайте Эфириума. Сейчас же мы расскажем, как запустить токен стандарта ERC-20.
Шаг 1. Сначала нужно выбрать / скачать стандартную форму смарт-контракта протокола ERC-20. Она находится на страничке
сайта github (скачивать нужно оба файла с расширением .sol).
Шаг 2. Дальше нужно открыть редактор Ethereum Remix (его можно скачать по этой
ссылке на сайте Эфириума) и с помощью кнопки «Load» или значка «Папка» загрузить оба ранее скачанные файла в редактор.
Шаг 3. Затем в открытом файле под названием NewToken.sol нужно вместо значений, содержащихся в треугольных скобках, указать нужные вам параметры токена: name — название токена, totalSupply — общая эмиссия, decimal — величина дробления (количество знаков после запятой), symbol — биржевой тикет токена.
Шаг 4. Дальше нужно сохранить изменения и развернуть смарт-контракт в сети Эфириума. Для этого можно воспользоваться клиентом кошелька MetaMask. Он не умеет компилировать контракты на Solidity, поэтому сперва сделаем это в Ethereum Remix. Для этого нужно открыть вкладку «Compile», выбрать свой смарт-контракт и кликнуть «Start to compile». По умолчанию это происходит автоматически, но вы можете сделать это вручную, убрав галочку «Auto compile».
Там же в редакторе Remix выбирается соседняя вкладка «Run» и подпункт «Injected Web3», где нужно заполнить поля «Gas limit» и “Value” и потом нажать «Create».
Аккаунт, от имени которого будет происходить развертывание смарт-контракта, определится автоматически при установленном MetaMask.
После нажатия «Submit» и внесения записи в блокчейн контракт считается развернутым. Статус подтверждается в клиенте иконкой с изображением документа, подписанной «Contract published». При нажатии на неё пользователь переходит на страницу транзакций.
Для осуществления операций с токеном нужны кошелек отправителя (например, создателя контракта) и кошелек получателя. Передавать токен можно, используя страницу Remix. Розовый цвет обозначает платные операции записи, а голубой – бесплатные операции чтения. Для передачи монет вводится нужное количество токенов и адрес получателя. После проведения транзакции баланс можно проверить запуском операции balanceOf.
Второй вариант запуска своего токена подразумевает использование
специального криптовалютного кошелька, например с помощью официального кошелька Ethereum Wallet или MyEtherWallet.
Рассмотрим алгоритм на примере Ethereum Wallet: