как узнать адрес контракта токена
inaword
Блог о разработке и современных технологиях
Пишем смарт-контракт Ethereum — это просто: Часть 7 — ICO
В сегодняшнем уроке вы узнаете как быстро создать смарт-контракт ico на ethereum. Конечно быстрый подход не лучший вариант когда вы работаете с деньгами. Но в учебных целях подойдет. Наш первый пример контракта ico на Solidity для Ethereum будет очень простым. А впоследствии мы будем его дополнять полезными фичами. Итак, приступим.
ICO — Initial Coin Offering. Первичное предложение токенов. Если вы вообще не знакомы с этим понятием, то сперва загляните на википедию. Вкратце на примере.
Допустим у группы людей появилась идея, но на ее реализацию нужны деньги. Тогда они рекламируют свою идею и призывают вложиться. Взамен они дают токены — валюту своего проекта. И как правило владельцам этих токенов что-то обещают. Например разделить между владельцами токенов какую-то часть прибыли проекта.
Жизненный цикл ICO может состоять из следующих стадий:
Мы сосредоточимся на второй части. Технически процесс прост. Инвестор отправляет эфир на контракт, отвечающий за распродажу. А контракт распродажи отдает команду выпустить токены и зачислить на ваш баланс.
Итак ICO состоит из двух контрактов:
В предыдущем уроке мы уже реализовали свой токен ERC20. И он был создан с применением шаблонам MintableToken. Т.е. он уже содержит функцию, которая выпускает новые токены на адрес владельца. Нам осталось только написать контракт распродажи!
Давайте условимся что распродажа токенов будет начинаться 18 июля 2017 года в 15 часов по Москве и длиться будет 30 дней. В solidity дата представляется в UNIX формате. Это количество секунд с 1 января 1970 года (можно воспользоваться сервисом перевода тут). При этом время должно быть указано не местное, а относительно Гринвичевского меридиана GMT. Итак разница между Москвой и GMT у нас + 3 часа. Тогда время начал распродажи по GMT — 18 июля 2017 года 12.00. Теперь воспользуемся сервисом перевода в UNIX формат и получим — 1500379200. Эта дата актуальна момент написания статьи. Поскольку дальше мы будем тестировать наш контракт, то лучше указать дату вчерашнего дня.
Итак в нашем контракте Сrowdsale буду следующие переменные
Когда пользователь нам пришлет деньги мы проверим что текущая дата больше чем дата начала распродажи и меньше чем дата конца распродажи. Если так, то эфир, который нам прислал пользователь мы мы переведем на счет владельца контракта. А затем выполним выпуск токенов на счет пользователя посредством вызова mint. Давайте запишем условие проверки:
Как добавить кастомный токен в MEW web
3 минут на чтение
Любой токен ERC20 можно добавить в локальный интерфейс MEW, следуя этим инструкциям.
Убедитесь, что он уже не установлен в постоянном списке токенов
Сначала вы должны убедиться, что вашего токена нет в нашем интерфейсе по умолчанию.
Шаг 2. Чтобы найти необходимый токен, выполните поиск по нашему списку токенов по умолчанию.
Шаг 3. Если вы не видите ваш токен, продолжайте следовать инструкциям в данной статье.
Поиск информации о токене
Для добавления токена в наш интерфейс вам понадобятся три параметра: адрес контракта, число десятичных знаков и символ. Всю эту информацию можно найти с помощью проводника блокчейна Ethereum, например Etherscan.io или Ethplorer.io. Мы покажем, как ее найти через Etherscan.io.
Шаг 1. Направляйтесь на Etherscan.
Шаг 2. Если у вас есть баланс токена, который вы хотите добавить, выполните поиск вашего публичного адреса (0x…) в поисковом поле.
Шаг 3. Найдите ваш токен в выпадающем списке балансов токенов. Выберите токен, и вы попадете на экран информации о токене.
Шаг 4. Здесь вы найдете адрес контракта токена и количество десятичных знаков в правой части интерфейса. Запомните число десятичных знаков, а затем нажмите на адрес договора, чтобы перейти на главный экран токена.
Шаг 5. Скопируйте этот адрес и вернитесь на MEW. В верхней части списка токенов нажмите «+ Кастомные токены», чтобы открыть экран добавления своих токенов.
Шаг 6. Вставьте адрес контракта в верхнее поле, укажите символ токена (аббревиатуру) во втором поле и введите количество десятичных знаков в последнее поле. Затем нажмите «Сохранить». Все готово!
Распространенные проблемы
«Токен уже существует!»
Если вы увидите эту ошибку, то ее можно легко исправить. Введите информацию о своем токене еще раз, но поставьте «2» после символа. Например, если символ токена — «XYZ», то укажите «XYZ2».
Если вы все еще видите эту ошибку после сохранения токена с измененным символом, то возможно, что ваш токен уже находится в списке токенов по умолчанию. Попробуйте снова поискать его символ в списке токенов. Если он отображается с нулевым балансом, но на etherscan.io есть положительный баланс, то вам, возможно, придется поменять узел ETH в верхнем правом углу.
Мои добавленные токены исчезают!
Если токены, которые вы добавили, исчезают при каждом доступе к нашему интерфейсу, убедитесь, что у вас не установлено программное обеспечение для очистки кэша (например, CCleaner). Ваша пользовательская информация о токене хранится локально в вашем браузере, поэтому эта программа удалит эту информацию, и вам нужно будет добавлять токен при каждом доступе к кошельку.
Инструкции
Как создать кошелек Ethereum.
Перейдите на сайт myetherwallet.com. На главной странице вам сразу же будет предложено создать новый кошелек. Для создания кошелька нужно придумать сложный пароль с количеством символов более 9 (вида: FavUi7#sb3%o9jhLouTrs47$). Создайте текстовый документ на своем компьютере. Скопируйте в него пароль.
Введите пароль в поле и нажмите кнопку «Создать кошелёк».
Появится окно с закрытым ключом (Private Key). Скопируйте ключ и вставьте его в текстовый документ. Этот ключ нужен для последующего доступа в ваш кошелёк. Никому не сообщайте его!
Нажмите кнопку «Напечатать бумажный кошелёк». Появиться картинка с QR-кодами, адресом кошелька и приватным ключом. Можно распечатать ее на принтере или сохранить как файл на компьютере. Напечатанные данные кошелка помогут восстановить к нему доступ, если вы забудете приватный ключ или случайно сотрете файл keystone. Храните распечатанный документ в надежном месте. Нажмите кнопку «Сохраните ваш адрес».
Как добавить свой токен в кошелек
Перейдите на сайт myetherwallet.com. Введите ваш ключ и войдите в кошелек. В правой колонке найдите кнопку «Load Tokens» и нажмите на неё.
В поле «Адрес токена» введите адрес вашего токена, размещенного в сети Ethereum. Этот адрес вы получаете от нас, после того как ваш смарт-контракт был написан, выгружен в основную сеть Эфириума и верифицирован.
В боле «Дробность» проставьте значение 18.
Затем нажмите на кнопку «Сохранить»
Как сделать дополнительную эмиссию токена
Ниже, под полями ввода есть кнопка «Подключиться«. Нажмите её.
Под кнопкой появится адрес вашего смарт-контракта. Таким образом вы вошли в панель управления смарт-контрактом. Теперь нужно вызвать функцию выпуска токенов. Для этого нажмите на кнопку » Select a function» и в выпадающем списке выберите функцию «Mint«
Появятся 2 поля для ввода: адрес и количество. В поле «_to Adress» вставляем адрес получателя токенов. Т.е. данной функцией вы делаете эмиссию (выпуск) токенов сразу на адрес получателя. При этом адрес может быть и вашим собственным.
В поле «_amount unit 256″ введите количество токенов, которые будут выпущены. Количество вводиться с учётом того,что токен имеет дробность 18 знаков после запятой. Таким образом, если вы хотите выпустить 10 токенов, вам необходимо указать 10 и 18 нулей (10 000 000 000 000 000 000).
Когда транзакция сформируется, нужно нажать на кнопку «Да, я уверен! Выполнить транзакцию«. После этого транзакция будет исполняться, проходить процесс майнинга, который может занять несколько минут.
Результаты транзакции можно отследить на сайте etherscan.io. В правом верхнем углу в полу поиска введите адрес вашего смарт-контракта токена и нажмите «GO«.
Как отправить токен на другой кошелек
У вас теперь есть собственные токены и вы хотели бы поделиться с кем-нибудь, перевести токены партнёрам по бизнесу или вашим инвесторам, но не знаете как?
Для того, чтобы перевести токены, которые хранятся на вашем Эфириум-кошельке кому-либо, вам необходимо зайти на сайт myetherwallet.com на вкладку «Перевести эфир (ether) и токены». Введите ваш приватный ключ. Появится форма для перевода средств.
Затем из выпадающего списка выберите ваш токен и укажите сумму перевода.
Нажмите на кнопку «Сформировать транзакцию». Затем согласитесь, нажав «Да, я уверен! Выполнить транзакцию«.
Всё, перевод совершен! Осталось подождать немного, пока транзакция пройдет процедуру майнинга и тогда ваш баланс и баланс получателя изменится на отправленное вами количество токенов.
Как завершить ICO
После того как завершится ваше ICO, его необходимо закрыть независимо от того, где аккумулировались собранные средства: на вашем кошельке или на самом смарт-контракте краудсейла. Завершение ICO передаёт права на смарт-контракт токена вам. Если не закрыть ICO, то вы не сможете управлять своим токеном.
После завершения ICO надо будет подключиться к контракту Crowdsale и вызвать фукнцию withdraw(). Она передаст права на владение контрактом токена бенефициару.
Для выполнения этой функции вам надо знать адрес смарт-контракта и ABI / JSON интерфейс смарт-контракта.
Внимание! ABI / JSON интерфейс и код смарт-контракта доступны только для верифицированных смарт-контрактов.
Заказывая смарт-контракт у нас, вы получаете верифицированный контракт.
ABI / JSON интерфейс смарт-контракта можно скопировать с сайта etherscan.io. Зайдите на сайт, в поисковую строку введите адрес вашего смарт-контракта и нажмите «GO»
На открывшейся странице перейдите на вкладку Contract Source.
Либо введите в браузер ссылку такого вида: https://etherscan.io/address/АДРЕС_ВАШЕГО СМАРТ-КОНТРАКТА#code
Введите в поле «Адрес контракта» адрес смарт-контракта краудсейла (ICO).
В поле «ABI / JSON интерфейс» введите интерфейс смарт-контракта.
И нажмите «Подключиться«
Поле «Сумма перевода» оставьте с нулевым значением.
В поле «Количества газа» введите количество, рекомендованное системой (например, 300000)
Нажмите «Сформировать транзакцию«.
Затем «Да, я уверен! Выполнить транзакцию«
Теперь смарт-контракт краудсейла закрыт и права на управление токеном перешли к вам.
Как поставить контракт на паузу и изменить цену токена?
Если в вашем смарт-конракте прописана функция паузы и изменения цены токена, вы можете ее выполнить через myetherwallet.com. Функция Pause нужна для того, чтобы в нужный момент приостановить краудсейл, а потом с помощью функции unpause его возобновить. Изменение цены токена (setTokenPrice) можно делать только когда краудсейл приостановлен.
Задавать цену вашему токену можно по разным причинам:
— задавать скидку на определенном этапе краудсейла (распродажа, preICO, ICO и т.д.);
— подстраивать цену токена под курс Эфириума к USD (или к другим валютным парам);
— при изменениях в условиях вашего ICO.
Для выполнения этих функций вам надо знать адрес смарт-контракта и ABI / JSON интерфейс смарт-контракта.
Внимание! ABI / JSON интерфейс и код смарт-контракта доступны только для верифицированных смарт-контрактов.
Заказывая смарт-контракт у нас, вы получаете верифицированный контракт.
Как добавить любой токен в кошелек MetaMask: сети ERC20, BEP20?
После завершения установки кошелька MetaMask по умолчанию отображается только ETH (Ethereum). В вашей учетной записи не будут отображаться другие токены BEP20.
Также некоторые новые и малоизвестные токены могут даже не отображаться в результатах поиска. Вам придется вручную добавлять такие токены в свой кошелек.
Добавить токен очень просто, и это займет у Вас всего несколько секунд.
В этом руководстве мы расскажем Вам как добавить токены ERC20 (Ethereum Chain) и BEP20 (Binance Smart Chain) в кошелек MetaMask.
Как добавить токены в кошелек MetaMask
Перед добавлением токенов в свою учетную запись MetaMask убедитесь, что вы выбрали правильную сеть. То есть; если вы хотите добавить токен ERC20, выберите «Ethereum Mainnet». Если вы хотите добавить токен BEP20, выберите «Binance Smart Chain».
Теперь давайте добавим токены в учетную запись MetaMask.
Попробуйте строку поиска:
Примечание. Функция поиска работает только в сети «Ethereum Mainnet». То есть MetaMask отображает только стандартные токены ERC20 в результатах поиска. Чтобы добавить токены BEP20, вам необходимо использовать параметр пользовательского токена, который мы объяснили ниже.
Как мы уже говорили, на вкладке поиска будут отображаться только самые распространенные и популярные токены. Если токен, который вы ищете, не отображается, используйте опцию пользовательского токена.
Добавление пользовательских токенов в MetaMask
Чтобы добавить токен, нам нужен только адрес контракта соответствующего токена.
Какой адрес токена (адрес контракта) и где их найти?
Зайдите на Etherscan.io, чтобы узнать номер контракта токена ERC20.
Используйте BscScan, чтобы найти детали контракта токена BEP20.
Используйте соответствующие блок эксплореры, найдите имя токена и скопируйте номер контракта. Вы увидите детали адреса контракта под сводкой профиля.
Шаги по добавлению пользовательского токена ERC20 в MetaMask
Пример адреса контракта токена RSR: 0x8762db106b2c2a0bccb3a80d1ed41273552616e8
Как только информация получена; нажмите «Далее» и добавьте токен. Пользовательский токен ERC20 теперь добавлен в ваш кошелек.
Шаги по добавлению пользовательского токена BEP20 в MetaMask
Процедура добавления токенов BEP20 такая же, как указано выше. За исключением того, что вам нужно будет использовать BscScan, чтобы найти адрес контракта BEP20.
Чтобы это сработало, убедитесь, что вы выбрали смарт-цепочку Binance и подключились к ней. Только тогда кошелек может получить информацию о токене BEP20.
Вот и все. Вы успешно добавили свой любимый токен ERC20 и BEP20. Ваш недавно добавленный токен будет отображаться на главном экране в списке токенов.
Где я могу разместить свои токены ERC20?
Для каждого токена не существует отдельного адреса. Просто отправьте токены на свой адрес MetaMask Ethereum, и токены появятся.
Адреса ERC20 и BEP20 начинаются с 0x.
Вы можете использовать ту же процедуру для добавления любых пользовательских токенов ERC20 или BEP20. Просто убедитесь, что вы переключились на правильную сеть.
Для ERC20 вы должны быть в основной сети Ethereum. Для токенов BEP20 вам следует перейти на Binance Smart Chain.
Теперь вы можете подключить свой кошелек и торговать токенами на Uniswap.
Спасибо за прочтение. Если вам нравится это руководство, подпишитесь на нас в Telegram чате и в YouTube канале, чтобы получать больше обновлений.
В этом руководстве мы покажем, как залистить любой токен на Uniswap.
Все мы знаем, что криптовалюты можно покупать, продавать и обменивать на другие криптовалюты. Но для этого придется полагаться на централизованные биржи.
Проблема в том, что вы не можете торговать некоторыми монетами, пока биржа не решит их залистить. И хуже всего то, что период ожидания может быть долгим, а стоимость листинга на бирже слишком высока в зависимости от того, насколько популярна конкретная биржа.
Благодаря DeFi (децентрализованное финансирование) и всем DEX (децентрализованным биржам), которые доступны сегодня, любой может самостоятельно зарегистрировать токен и сделать его доступным для торговли. Никаких комиссий за листинг на бирже, никакого периода ожидания и никаких ненужных хлопот.
В настоящее время на DEX, например, Uniswap, можно добавлять только токены. В частности, токены ERC-20 (токены на основе Ethereum).
В этом руководстве мы продемонстрируем, как залистить токен на децентрализованную биржу Uniswap. Может ли это быть любой, к примеру, Ваш собственный токен ERC20, который вы хотите продать? Или это может быть ваш любимый токен, который пока нигде недоступен для торговли?
Прежде чем мы объясним, как листить токены, давайте сделаем краткий обзор на Uniswap и поймем, как работает листинг токенов!
Что такое Uniswap?
Любые токены ERC20 могут быть залистины и проданы на Uniswap. Это достигается засчет использования смарт контрактов.
Как работает листинг токенов?
Uniswap работает на рынке торговых пар. Каждая торговая пара управляется и защищается уникальным смарт-контрактом, который развертывается в сети Ethereum.
Кто угодно, включая Вас, может создать торговую пару и стать поставщиком ликвидности, поместив резервы в пул торговой пары.
После того, как пара развернута, пользователи могут начать обмен и обеспечить ликвидность. И все это без необходимости создавать учетную запись или проходить KYC.
Uniswap не полагается на ордера. Вместо этого он использует алгоритм, определяющий цену. Мы объясним принцип работы алгоритма и все его технические аспекты в отдельном руководстве, поэтому обязательно добавляйте наш сайт в закладки!
Uniswap предоставляет пользователям простой интерфейс для обмена между ETH и любыми токенами ERC20. Его лучше всего использовать, когда вы хотите быстро обменять токены по текущей рыночной цене.
Теперь, когда вы узнали, что такое Uniswap, и как он работает, давайте посмотрим, как разместить токены на этой бирже.
Требования для листинга токена ERC20 на Uniswap
Допустим, вы начали проект DeFi, у которого есть собственный токен ERC20, и вы хотите разместить его на Uniswap. Вот что вам понадобится:
Как добавить токен на Uniswap?
2) В правом верхнем углу вы увидите опцию «Connect to a wallet» («Подключиться к кошельку»). Нажмите на нее, выберите MetaMask или любой другой кошелек на Ваш выбор, разблокируйте его и нажмите «connect» («Подключиться»).
3) После подключения перейдите на https://app.uniswap.org/#/swap. Теперь нажмите «select a token» («выбрать токен») и найдите токен.
Поскольку это пользовательский токен, вы не найдете его в списке Uniswap по умолчанию. Вам нужно будет искать токен по его адресу.
Примечание. Любой желающий может создать, а также придумать название для любого токена ERC20 в Ethereum, включая создание фэйк версии существующих токенов.
Uniswap не проверяет подлинность токена. Он просто извлекает информацию о токене с указанного Вами адреса токена. Прежде чем взаимодействовать с токеном ERC20, проведите исследование и убедитесь, что адрес контракта токена правильный. Также перед обменом или предоставлением ликвидности обязательно проверьте аналитику токенов на Uniswap.info.
Вот как можно узнать адрес контракта токена:
Перейдите на Etherscan.io и найдите токен, который вы хотите добавить в Uniswap. Скопируйте адрес контракта и вставьте его в строку поиска Uniswap. Теперь токен появится там.
4) Теперь, если токен, который вы хотите залистить, уже кем-то добавлен, то Вы получите возможность обменяться им. В этом случае вам не нужно добавлять его снова.
Кроме того, если Вы видите такой вариант, как «Insufficient liquidity for this Trade» («Недостаточная ликвидность для этой Сделки»), тогда это означает, что токен еще не внесен в листинг или никто не предоставил достаточно ликвидности для этой пары.
Вы будете первым поставщиком ликвидности, и вот как развернуть свой токен за считанные минуты в этом случае.
Рекомендации по размещению токена ERC-20 (Ethereum) на Uniswap
Перейдите на https://app.uniswap.org/#/pool и нажмите «create a pair» («Создать пару»), где вы увидите следующее сообщение:
«You are the first liquidity provider. The ratio of tokens you add will set the price of this pool. Once you are happy with the rate click supply to review»
На Uniswap для листинга токена вам необходимо предоставить ликвидность. Вы не можете обеспечить ликвидность только для этого токена. Вам также нужно будет выбрать дополнительный токен для обеспечения ликвидности.
Это может быть ETH или эквивалентная сумма любого токена ERC20. То есть пара может быть либо ETH и токеном ERC 20, либо двумя токенами ERC 20.
Поскольку вы первым указываете токен, его значение совершенно произвольно. Соотношение, которое вы предоставляете, определяет цену токена.
Например, если вы предоставляете 1 ETH и 1 токен, это означает, что цена токена изначально установлена на 1 ETH. Если вы предоставляете 0,1 ETH и 1000 токенов XYZ, то цена XYZ устанавливается равной 10000 за 1 ETH или 0,0001 ETH за XYZ.
Создайте пару и добавьте ликвидность
Внизу экрана поставщика ликвидности вы найдете начальные цены и долю пула.
Примечание: любая транзакция, которую вы инициируете на Uniswap, будет стоить небольшую сумму ETH в качестве платы за газ.
После этого вы увидите сообщение: «Transaction submitted – View on Etherscan» («Транзакция отправлена - просмотр на Etherscan»).
Вы создали пару и обеспечили ликвидность.
Поздравляем! Вы только что добавили токен в Uniswap.
После успешного листинга токена пользователи могут начать переключаться между этой парой. Сообщите сообществу о листинге, чтобы они могли торговать и обеспечивать ликвидность.
Чтобы начать обмен, перейдите в раздел «swap» на бирже Uniswap. Вам все равно придется искать токен, используя адрес контракта.
По умолчанию он не будет отображаться в списке токенов во внешнем интерфейсе. Как только пара станет популярной и станет достаточно ликвидной, вы можете отправить запрос на включение вашего токена в список токенов внешнего интерфейса.
Кроме того, предоставляя ликвидность, вы получаете 0,3% от всех сделок по паре, пропорционально вашей доле в пуле.
Как поставщик ликвидности, мы надеемся, что вы понимаете, что такое непостоянная потеря. Также, как мы говорили в начале, любой проект может размещать токены на основе Ethereum на Uniswap.
Однако обязательно проведите исследование и будьте внимательны, прежде чем предоставлять ликвидность или обменивать токен на Uniswap.
Воспользуйтесь сайтом uniswap.info, на котором есть информация обо всех LP (пулах ликвидности) Uniswap pair.
Надеемся, вы научились добавлять собственные токены ERC-20 на биржу Uniswap. Теперь вы можете тороговать любыми любимыми токенами с малой капитализацией на Uniswap.