Как сделать токены на эфириуме

Метод конфиденциального перевода токенов в Эфириуме

Эфириум не является частным блокчейном. Каждый раз, когда вы переводите токены ERC20 или любой другой цифровой актив, информация может просочиться третьим лицам. Они могут узнать вашу полную финансовую историю, просто зайдя на Etherscan, Blockscout или любой другой блокчейн-обозреватель.

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Однако не стоит пугаться: есть способы предотвратить утечку. Во-первых, вы могли бы использовать сразу несколько счетов, но для этого вам пришлось бы постоянно следить за тем, чтобы эти счета не пересекались. Для админа это был кошмар наяву. А что, если бы существовал более изящный программируемый способ?

Представляю вашему вниманию AZTEC: протокол конфиденциальности, построенный на базе Эфириума. В этой статье я не буду акцентировать внимание на криптографии, лежащей в основе этого протокола, а сфокусируюсь больше на его практическом применения, а именно: конфиденциальном переводе токенов.

Отказ от ответственности: я работаю в AZTEC в качестве штатного инженера по программному обеспечению.

Необходимые условия

В контексте этой статьи я буду считать, что у вас уже имеется базовое понимание, что такое:

Убедитесь, что на вашей машине стоит node.js и npm и установите Truffle:

Ментальные модели

Давайте здесь остановимся и рассмотрим основные технические составляющие.

Протокол

Эфириум – это, условно говоря, деревня, а AZTEC – лес.

В этой деревне люди взаимодействуют друг с другом, используют даппы (децентрализованные приложения) для финансовых операций, переезжают в разные города (кошельки) и так далее. Мне нравится сравнение AZTEC с тихим лесом в деревне. Люди могут пойти туда, сообщить, сколько средств у них на балансе, прежде чем вступить в игру, но после этого все транзакции становятся конфиденциальными.

Картинка ниже – это моя несколько «корявая» попытка визуализировать идею AZTEC. Все происходящее в обычной среде (Эфириум) кристально ясно, но что происходит за ее пределами – скрыто за семью печатями, в нашем случае – лесом (AZTEC).

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Примечания

Примечанием в AZTEC является объект, поддерживающий все операции, которые по сути доступны другим объектам (т.н. first-class citizen), и основным примитивом (т.е. операцией) в этом протоколе. Когда вы совершаете сделки с нулевым разглашением, смарт-контракты не хранят какие-либо балансы, а вместо этого работают с точками эллиптической кривой, которые являются просто вычислительным шумом для всех, у кого нет закрытых ключей.

Очень важно провести различие между ERC20 и ERC1724 – стандартами для конфиденциальных токенов в AZTEC. Первый хранит сопоставление между адресами Эфириума и незашифрованными балансами. Последний шифрует балансы. Я нахожу любопытным сравнение примечаний в AZTEC с небольшими входящими платежами, являющимися неизрасходованными выходами в сети Биткоина (так называемыми Bitcoin UTXOs), так как процесс расходования средств в AZTEC очень похож.

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Содержание примечаний, которые классифицируются по степени открытости:

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Прежде чем продолжить, обратите внимание, что для установки AZTEC требуется надежная программа. В этом обучающем пособии используется надежная программа, которая была создана силами нашей команды. Мы дадим больше информации о поколении надежных программных продуктов в ближайшее время. Риски за их использование вы берете на себя.

Погнали!

Скопируйте файл в этом файлохранилище и установите модули узла:

Если у вас будет много подробных текстовых файлов, связанных с «scrypt» и «keccak», это прекрасно, потому что нам необходим aztec.js, которому требуется файл web3.js, у которого впоследствии будет много криптографических зависимостей.

Перед тем, как запустить демо-версию, нужно выполнить несколько важных шагов:

АДРЕС КОНФИДЕНЦИАЛЬНОГО ТОКЕНА: учтите, что фактическое имя контракта – ZKERC20; вы получите его после того, как truffle развернет контракт
МНЕМОНИКА
INFURA_API_KEY

Теперь убедитесь, что ваш проект выглядит следующим образом:

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

На это уйдет некоторое время, потому что транзакции отправляются в Rinkeby. Через несколько минут в консоли должен быть напечатан список квитанций. Ура, вы только что выполнили свою первую конфиденциальную передачу токенов в Эфириуме.

Теперь давайте рассмотрим исходный код в src/demo.js.!

Создание примечаний

Чтобы лучше понять Шаг 2, вспомните, что примечания в AZTEC по своей природе похожи на UTXOs в Биткоине. Когда человек переводит деньги, оставшиеся суммы должны быть преобразованы в новый набор примечаний: в этом состоит отличие от канонических транзакций в Эфириуме, которые используют модель баланса.

Кроме того, я отделил счета, используемые в Эфириуме (те, что находятся в src/accounts.js) от случайно сгенерированных счетов AZTEC (демо-скрипт генерирует файл под названием aztecAccounts.json).

Создание доказательств

Объект доказательства выше:

Мы должны взаимодействовать с контрактом под названием «NoteRegistry», который является уникальным для каждого контракта на конфиденциальные токены. Вы можете рассматривать proofHashes как массив уникальных идентификаторов для ранее сгенерированных доказательств.

Согласование

Мы «чеканим» серию токенов и даем разрешение NoteRegistry на списание средств с контракта на ERC20.

По аналогии с ERC20, NoteRegistry должно быть предоставлено разрешение на работу с доказательствами AZTEC. Должны признаться, что это часть требует дальнейших изучений, и мы ищем способы сделать UX более удобным.

Перевод

Наконец, самая интересная часть: для перевода вам нужно вызвать контракт на конфиденциальные токены. Обратите внимание, что первая транзакция только преобразует токены ERC20, поэтому третьи стороны могут узнать, сколько токенов было переведено. Однако вторая транзакция является полностью конфиденциальной.

Вот визуализация того, что мы только что сделали:

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Подводные камни

Пакеты

Исходный код для них всех доступен в нашем моно-репозитарии. Смело пишите нам в Twitter или по электронной почте [email protected], если у вас возникнут какие-либо вопросы!

Напоследок

Я надеюсь, что вам понравилась эта обучающая статья и вас также интересуют конфиденциальные транзакции, как и меня. Проверьте вот эти транзакции, которые используют несколько доказательств AZTEC для преобразования 10 токенов ERC20 в полноценную форму с нулевым разглашением:

Источник

Как создать свою валюту на Эфириуме

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Введение

Материал данной статьи написан с расчётом на наличие хотя бы минимальных базовых знаний в области криптовалют. С вашей стороны необходимо понимание как минимум того, что такое криптовалюта, как и для чего используется, что такое эфириум и эфир. Вы должны иметь общее представление о том, что такое блокчейн, смарт контракты и децентрализованные приложения. Если вы не владеете такой информацией, то, прежде чем начинать изучение токенов эфириума, стоит уделить немного времени и разобраться с данными вопросами.

Токен

Токен в сети эфириума это с одной стороны полноценная криптовалюта, такая, каких вы много встречали на криптовалютных биржах. С другой стороны, с технической, это смарт контракт, написанный по общим правилам создания децентрализованных приложений на блокчейне эфриума. Токены программируются под различные бизнес возможности, например, под конечную эмиссию монет, или под возможность брать в залог, тратить от чужого имени (обычно с его позволения). Токенам присуще использование стандартов в своей основе, например, популярный стандарт ERC20, благодаря которому токены легко размещаются на любых криптовалютных биржах. Токены разрабатывают с определённой целью, например, для первичного размещения монет (Initial Coin Offering или ICO), для работы в качестве расчётной единицы в разрабатываемом сервисе.

Токены не отличаются от остальных криптовалют на биржах и живут по тем же правилам рынка, что и биткойн или сам эфир. При этом все токены очень удобно меняются на эфир, при желании и с позволения владельца. Для этого достаточно будет любого стандартного кошелька эфириума.

Как вы понимаете, у токенов эфириума очень много карт в рукаве, но для того чтобы ими воспользоваться, о них нужно знать. Всё дело в том, что на текущий момент развития культуры понимания криптовалютного рынка и возможностей смарт контрактов в частности, заказчики, да порой и сами разработчики, не совсем понимают, что нужно, что стоит, и что полезного сделать, чтобы идея, лежащая в основе проекта для которой делается токен, выстрелила в правильном направлении. Т.е. чтобы токен не превратился в очередную никому не нужную монету, а чтобы он рос вместе с проектом и помогал ему в его развитии.

В любом случае, серьёзно настроенные разработчики и заказчики путём совместного обсуждения обычно приходят к определённым решениям по выпускаемому токену и новая монета разрабатывается под цели проекта. Вот только происходит это больше на условиях разработчиков, по причине большей осведомлённости в вопросе.

С технической точки зрения

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Здесь главное понять, что токен эфириума − это полноценная программа, написанная на тьюринг полном языке программирования. Поэтому любые разумные возможности, которые можно формализовать сводом определённых правил и алгоритмов, могут быть переложены на машинный код под блокчейн для выполнения в виртуальной машине эфириума. Токен − это не более чем разновидность смарт контрактов и при этом не самая сложная. Примеров реализованных монет уже достаточно много и программистам есть на что опираться в разработках.

Для общего развития поясним структуру и функционирование обычного токена.

Таким образом, токен − это приложение, функционирующее в сети эфириума, для доступа к которому используются запрограммированные внутри него методы. Он делает только то, что реализовано данными методами. Для обращения к методам можно использовать кошелёк эфириума, mist, консоль виртуальной машины, любой интерфейс вызова методов смарт контрактов сети или специально написанную для этих целей дополнительную программу, например, с web интерфейсом.

Стандартизация

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Описанного выше функционала достаточно для работы токена. Но сейчас токенов стало достаточно много и для работы с ними сторонних приложений очень удобно было ввести определённые стандарты. Таковые появились сперва негласно, позже на их основе стали появляться стандарты под определённым именами и использование этих стандартов стало не просто правилом хорошего тона, но и требованием для включения токенов на криптовалютные биржи и, соответственно, требованием со стороны заказчиков.

В основе стандартизации лежат соглашения по наименованию валютного реестра, методов и событий контракта. В каждом методе стандарта присутствует строго определённый набор параметров. Помимо методов стандарта токен может содержать любое дополнительное количество методов, реализующих его расширенную функциональность.

На сегодня используются следующие стандарты:

ERC179 – самые базовые функции по чтению баланса и переводу средств.

ERC20 – создан на базе ERC179. Отличается от своего предшественника наличием механизма для предоставления владельцем аккаунта своих средств в пользование другим участникам сети. Как вы понимаете, такой механизм делает токен более продвинутым технически, но с другой стороны, такой механизм не слишком часто кому-то нужен. Потому сейчас ещё встречаются новые контракты на базе ERC179. Но ERC20 сейчас является “самым стандартным” из стандартов, и все рекомендуют использовать его, чтобы не изобретать велосипед и что бы не было проблем с размещением токена на биржах.

ERC23 – новый стандарт на базе ERC20 с дополнительной защитой от потери денег при переводах на контракты не предназначенные для этого. Также есть дополнительная и оптимизированная функциональность для более экономного использования GAS при переводах и при управлении токеном. Рекомендован к использованию.

Типовые возможности монет

Как мы и обещали выше, перечислим те возможности токенов, которые могут быть добавлены по желанию заказчика или в соответствии с насущной необходимостью со стороны идеи проекта, для которого предназначен токен:

Это просто примеры часто используемых расширений токенов. Запрограммировать, как уже отмечалось, можно любую формализуемую задачу.

Стоимость процесса разработки

Сама технология очень новая, сложная и ответственная. С другой стороны, за подобными решениями обращаются с единственной целью – помочь в реализации идеи на которой можно заработать. Цена на подобную услугу по определению не может быть низкой.

Для наглядности поясним на примере из реальной жизни. Супернавороченный, современный, передовой магнитофон (если такие ещё выпускаются) будет стоить допустим 200$. В нём собраны такие технологии, которые невозможно воспроизвести без самого передового оборудования и без высоко квалифицированного персонала. Но стоит он всего 200$.

Теперь возьмём обойный станок. Он по своей конструкции очень прост. Как холодильник, только что не морозит, а печатает на обойном прокате. Его обслуживанием и ремонтом, да и производством по большому счёту, может заниматься любой “умелец на все руки” (про то, что может заниматься производством умелец просто не догадывается). Но стоимость одного поддержанного станка для печати обоев – сотни тысяч американских долларов.

Где логика? – Всё предельно просто: есть оборудование для бизнеса, которое помогает деньги делать, а есть одноразовое оборудование для конечного пользователя. Вот и в ценообразовании токенов немаловажную роль играет тот же принцип. Плюс добавьте сюда малое количество специалистов, поскольку рынок новый, сложность технологии и особенность ответственной работы с приложениями, которые нельзя будет изменять после внедрения. Вот и получается, что цена на стандартные токены, которые пишутся достаточно просто, не будет низкой. Озвучивать не будем, чтобы не создавать новых стандартов в ценообразовании.

Заключение

Токены сети эфириума являются полноценной криптовалютой. По своим техническим возможностям они очень сильно превосходят тот же биткойн. При этом реальная стоимость токена определена тем проектом, под который данный токен реализуется.

Для создания своего нового токена стоит иметь определённый багаж знаний в данном вопросе, чтобы получить тот цифровой продукт, который в большей степени подойдёт для реализации ваших целей.

Источник

Как создать токен по стандарту ERC20 простым способом

Цель этой статьи – показать как создаются токены по стандарту ERC20 за максимально короткий срок.

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Давайте начнем с азов: Что такое токен ERC20?

За последние годы спецификация на токен ERC20 стала фактическим стандартом для токенов Эфириума. Другими словами, большинство контрактов Эфириума сегодня совместимы со стандартом ERC20. В этой статье будет подробно описано, как вы можете создать свой собственный токен на Эфириуме, но прежде чем мы начнем, давайте более подробно рассмотрим стандарт ERC20.

Что делает токены ERC20 такими привлекательными и успешными? Есть несколько факторов:

Как и другие токены Эфириума, токены ERC20 реализуются в виде умных контрактов и выполняются на виртуальной машине Эфириума (EVM) децентрализованным образом.

Solidity: язык программирования умных контрактов

Умные контракты Эфириума пишутся на языке программирования Solidity. Хотя существуют альтернативные языки, вряд ли кто-то будет использовать их для этой цели. Solidity подобен JavaScript, поэтому, если у вас есть некоторые знания JavaScript или даже Java и других C-подобных языков, у вас не должно возникнуть сложностей в понимании, что делает фрагмент кода на языке Solidity, даже до того, как вы реально освоите Solidity в достаточной мере, чтобы пользоваться им.

Вот здесь и начинается самое интересное, так как вы должны быть в состоянии начать создавать простой контракт ERC20 в кратчайшие сроки. Это конкретная и достаточно простая задача: в этой статье будет показано, как вы можете написать и развернуть токен ERC20 менее чем за час.

Токен, который мы будем создавать по этой инструкции, будет упрощенным вариантом ERC20 без слишком большого количества наворотов. Но я видела много таких же простых токенов в реальном мире, и они, как правило, неплохо выполняют свою функцию.

Обзор стандарта ERC20

Что такое ERC20?

Если говорить простым языком, стандарт ERC20 определяет набор функций, которые должны выполнять все токены ERC20 для обеспечения интеграции с другими контрактами, кошельками или рынками. Этот набор функций довольно короткий и простой.

Функции ERC20 позволяют внешнему пользователю, скажем, приложению крипто-кошелька, узнать баланс пользователя и перевести средства от одного пользователя к другому с надлежащей авторизацией.

В умном контракте определены два конкретных события (Подтверждение и Перевод):

Эти события будут вызваны или опубликованы, когда пользователю будут предоставлены права на получение токенов со счета и после того, как токены будут по факту переведены.

Помимо функций стандарта ERC20, многие токены ERC20 также определяют дополнительные поля, и некоторые из них стали фактической частью стандарта ERC20, если не на письме, то на практике. Ниже приведены несколько примеров таких полей.

Вот несколько моментов, касающихся ERC20 и номенклатуры Solidity:

Большинство конструкций языка Solidity не должны вызывать проблем с пониманием, если вы уже обладаете необходимыми навыками Java/JavaScript.

Написание токена ERC20 на языке Solidity

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Теперь, когда мы изложили основы и объяснили, что нужно для создания токена ERC20, пришло время перейти к конкретной логике.

Во-первых, нам нужно определить два объекта проекции. Это понятие Solidity для ассоциативного ряда, или другими словами ряда «ключ/значение».

Выражение проекции (address => uint256) определяет ассоциативный ряд, ключи которого относятся к типу address – число, используемое для обозначения учетной записи адреса и чьи значения относятся к типу uint256 — 256-битное целое число, как правило, используется для хранения остатка токенов.

Первый объект проекции, balances, будет содержать информацию об остатке токенов каждого владельца счета.

Второй объект проекции, allowed, будет включать в себя все счета, которым разрешено выйти из данной учетной записи вместе с выводом суммы для каждого.

Как вы видите, область value проекции allowed само по себе является проекцией адреса счета привязки к утвержденной для него сумме вывода средств.

Эти проекции наряду со всеми другими полями контракта будут храниться на блокчейне и будут майниться, приводя в результате к изменениям, которые будут распространяться на всех пользователей сети (узлы).

Хранение на блокчейне – дорогое удовольствие, и пользователям вашего контракта так или иначе придется платить. Поэтому всегда нужно стараться минимизировать размер хранилища и записывать в блокчейн.

Теперь, когда у нас есть на руках необходимые структуры данных, мы можем начать записывать логику ERC20 в соответствующие функции.

Определение количества токенов для ICO

Как определить количество токенов для первичного размещения монет? Ну, есть несколько способов установить максимальное количество токенов для ICO, и этот вопрос сам по себе заслуживает длительного обсуждения.

В контексте нашего пособия по ECR20 мы будем использовать самый простой подход: установить общее количество токенов на момент создания контракта и изначально присвоить их «владельцу контракта», т. е. учетной записи, которая развернула умный контракт:

Конструктор (Constructor) – это специальная функция, автоматически вызываемая Эфириумом сразу после развертывания контракта. Обычно она используется для инициализации состояния токена с помощью параметров, переданных учетной записью, развертывающей контракт.

msg является глобальной переменной, объявляемой и заполняемой самим Эфириумом. Она содержит важные данные для выполнения контракта. Поле, которое мы используем здесь: msg.sender содержит данные об учетной записи Эфириума, выполняющей функцию текущего контракта.

Только учетная запись, развертывающая контракт, может вводить конструктор контракта. При запуске контракта эта функция выделяет доступные токены на счет «владелец контракта».

Получить общее количество токенов

Эта функция возвращает количество всех токенов, выделенных по этому контракту, независимо от владельца.

Получить остаток токенов со счета владельца

balanceOf вернет текущий остаток токенов со счета, идентифицированного по адресу его владельца.

Перевести токены на другой счет

Как следует из названия, функция transfer (перевод) используется для перемещения суммы токенов со счета одного владельца на счет другого владельца, или получателя. Тот владелец счета, который осуществляет перевод, обозначается как msg.sender, т.е. это то лицо, которое выполняет функцию, что подразумевает, что только владелец токенов может переводить средства другим участникам.

Способ утверждения предиката на языке Solidity – это require (требовать). В этом случае это означает, что на передающем счете имеется достаточный баланс для осуществления перевода. Если не получается выполнить require, транзакция автоматически сворачивается без внесения изменений в блокчейн.

Прямо перед выходом функция инициирует событие ERC20 «Transfer» (перевод), тем самым позволяя зарегистрированным слушателям среагировать на его завершение.

Утвердить делегата для списывания токенов

Эта функция чаще всего используется в сценарии рынка токенов.

Задача approve (утвердить) – это позволить владельцу, т. е. msg.sender, утвердить счет делегата — возможно, сам рынок, — для снятия токенов со своего счета и перевода их на другие счета.

Как видно, эта функция используется для тех сценариев, когда владельцы счетов предлагают токены на рынке. Это позволяет рынку финализировать транзакцию без ожидания предварительного согласования.

В конце выполнения операции эта функция инициирует событие Approval (подтверждение).

Получить количество токенов, подтвержденных для снятия со счета

Эта функция возвращает подтвержденное на текущий момент владельцем счета количество токенов для конкретного делегата, как установлено функцией approve.

Перевести токены делегатом

Функция transferFrom – это узел функции approve, о которой мы говорили ранее. Она позволяет делегату, одобренному для вывода средств, переводить средства владельца счета на сторонний счет.

Две команды require на момент запуска функции требуются для подтверждения того, что транзакция законна, т.е. что владелец счета имеет достаточное количество токенов для перевода и что делегат имеет разрешение на снятие (как минимум) numTokens.

Помимо перевода суммы numTokens от владельца к покупателю, эта функция также вычитает numTokens с денежного пособия делегата. Это в основном позволяет делегату, учитывая сумму приведенного денежного пособия, разбивать его на несколько отдельных сумм для снятия, что характерно для рынка.

Мы могли бы остановиться на этом моменте, получив в итоге имеющую действительную силу реализацию ERC20. Однако мы хотим пойти дальше, т.к. нам нужен токен промышленного масштаба. Для этого нам необходимо сделать наш код несколько более безопасным, хотя мы по-прежнему сможем сохранить относительную простоту токена, если не базовость.

Библиотека языка Solidity – SafeMath

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

SafeMath защищает от этого путем проверки на переполнение перед выполнением арифметических действий, таким образом устраняя опасность. Библиотека настолько мала, что влияние на размер контракта минимально, она не требует большой производительности и больших затрат на хранение.

Добавим SafeMath к нашему коду:

SafeMath использует команды подтверждения отсутствия ошибок для проверки правильности передаваемых параметров. Если не удается подтвердить отсутствие ошибок, выполнение функции будет немедленно приостановлено и все изменения в блокчейне будут отменены.

Далее добавим следующую команду, которая помещает библиотеку в компилятор Solidity:

Затем заменим простую арифметику, которую мы использовали в начале, на функции SafeMath:

Все пакуем вместе

На языке Solidity функции и события умного контракта собраны в единство, называемое контрактом, который можно тихо перевести в «класс блокчейна». Ниже приведен совместимый с ERC20 контракт, который мы создали, включая Gist нашего кода. Поля «название» и «символ» могут быть изменены по желанию. Большинство токенов сохраняют десятичное значение в 18, поэтому мы сделаем то же самое.

Развертывание контракта на Эфириуме

Пришло время развернуть наш контракт на блокчейне. После развертывания наш контракт будет разослан на все узлы (ноды), которые участвуют в сети. Все изменения в контракте будут распространены между всеми участвующими узлами (нодами).

Разработчики Эфириума обычно применяют такие инструменты для развертывания, как Truffle. Но даже Truffle – это перебор для этой статьи с ограниченным набором потребностей, поэтому простого он-лайн инструмента, такого как Remix, будет достаточно.

Для его использования необходимо установить плагин MetaMask на ваш браузер и завести учетную запись на Rinkeby (тестовая сеть Эфириума) с хотя бы минимальным количеством эфира Rinkeby в ней. Это относительно простые шаги, поэтому мы не будем вдаваться в подробности.

Если у вас нет эфира, перейдите на MetaMask и Rinkeby, чтобы скачать ссылки и получить четкие инструкции по установке и использованию.

Теперь, когда все на месте, мы зайдем на Remix и вставим вышеуказанный код, включая строку pragma и библиотеку SafeMath, в онлайн-редактор.

Затем мы перейдем на вторую вкладку справа под названием Run (запуск) и кликнем на Deploy (развернуть). Появится всплывающее окно MetaMask с просьбой подтвердить транзакцию. Конечно, мы подтверждаем ее.

Как сделать токены на эфириуме. Смотреть фото Как сделать токены на эфириуме. Смотреть картинку Как сделать токены на эфириуме. Картинка про Как сделать токены на эфириуме. Фото Как сделать токены на эфириуме

Поздравляю! Вы только что развернули ваш первый токен ERC20, прямо как настоящий знаток блокчейна Эфириум. Как и было обещано, токен прост и легок, однако полностью функционален, соответствует стандарту ERC20 и защищен библиотекой MathSafe. Его можно покупать, им можно расплачиваться и его можно передавать через блокчейн.

Это все, что нужно для умных контрактов?

Нет, даже близко не так, поскольку наша краткая демонстрация едва затрагивает суть вопроса и имеет дело исключительно с одним аспектом разработки умных контрактов.

Умные контракты могут быть гораздо более сложными, в зависимости от вашей бизнес-логики, моделируемого вами взаимодействия с пользователем, независимо от того, обеспечиваете ли вы «чеканку» или «проживание» токенов; а также изменений жизненного цикла, которые вы вводите в контракт, необходимости в получении возможностей на уровне администратора, которые обычно идут вместе с авторизованным администратором набором функций, и так далее. Ну вы поняли.

Тем не менее, если вы сможете повторить то, что мы сделали здесь, это заложит прочный фундамент для расширения ваших знаний и перехода к более сложным контрактам, когда это будет необходимо.

Умный контракт-это фрагмент кода, выполненный на виртуальной машине Эфириума. Умный контракт на Эфириуме является неизменным и он может отправлять или получать эфир и данные.

Проще говоря, токены ERC20-это контракты, реализующие стандарт ERC20. Операции, выполняемые по этим контрактам, включают получение общего предложения и баланса токенов, а также методы, используемые для их передачи.

Разработка Эфириума в настоящее время ведется на Solidity, контрактно-ориентированном языке программирования, вдохновленном JavaScript, Python и C++.

ERC означает запрос Эфириума на комментарии. Этому запросу присвоено число 20, отсюда и суффикс.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *