код смарт контракта bep 20
Что такое токены BEP-20? Как создать его на Binance Smart Chain?
Токены являются неотъемлемой частью криптовалютной индустрии. Это тип смарт-контракта, который можно отправлять и получать. Токены представляют собой цифровые активы со стоимостью. Токены, являющиеся смарт-контрактами, не имеют таких проблем, как простои, мошенничество, цензура или стороннее вмешательство. Эти контракты выполняются в соответствии с их программированием и без каких-либо препятствий. Эти токены основаны на базовой цепочке блоков, которая предоставляет ценность и перемещает ее, а также владеет токенами.
Что такое токены BEP-20?
Этот токен был создан для смартчейна Binance в качестве технической спецификации. Основной девиз запуска этого токена заключался в том, чтобы облегчить разработчикам разработку подобных токенов. Эти токены могут представлять собой акции компании, а также сумму, хранящуюся на банковском счете, и что-либо подобное. Перевод этих токенов осуществляется BNB. Транзакции, совершаемые и включенные валидаторами на BSC, стимулируются BNB.
Как создать свои токены в смартчейне Binance, например BEP-20?
Процесс создания BEP-20 подобных токенов в смартчейне Binance довольно прост. Просто есть стандартный токен BEP-20, вы можете легко создавать аналогичные токены на платформе BSC.
Владелец токена: Каждый созданный вами токен будет иметь своего владельца. Владелец будет иметь право чеканить новые токены, а также прекратить чеканку новых токенов.
Ограниченные токены BEP-20: Перед чеканкой токенов вы должны указать лимит или максимальное количество токенов, которые вы хотите чеканить (создать). Как только это число будет достигнуто, вы не сможете чеканить больше токенов.
Горючие токены BEP-20: Вы даже можете уничтожить некоторые жетоны. Эти токены можно сжечь, когда вам нужно уменьшить количество токенов на рынке.
Mintable токены BEP-20: Это не что иное, как чеканка токенов, которые вы хотите сгенерировать. Вы можете чеканить жетоны, пока не будет достигнуто максимальное количество жетонов.
Черный список токенов: Жетоны также могут быть внесены в черный список. Это может произойти, если будет обнаружено, что токены или сайт, генерирующий токены, являются вредоносными.
Преимущества токенов BEP-20
BEP-20 против ERC-20
BEP-20 и ERC-20 совместимы, и первый является расширением второго. Однако есть определенные отличия, например, стандарт токенов BEP-20 предназначен для смарт-цепочки Binance, тогда как ERC-20 является стандартом токенов в цепочке Ethereum. В то время как ERC-20 может использоваться в качестве схемы для любого токена, сгенерированного в блокчейне Ethereum, BEP-20 может использоваться только для создания подобных токенов, таких как BEP-20, в интеллектуальной цепочке Binance. Множество кошельков и сайтов поддерживают чеканку ERC-20, в то время как существует несколько таких сайтов, которые позволяют чеканить BEP-20.
БОП-2 и БОП-20
Заключение
BEP-20 известен как монеты Peggy, поскольку разные крипто-токены находятся на другом блокчейне, но могут быть привязаны к BEP-20.
Цена 349 долларов. Инструмент инфраструктуры экосистемы Binance Smart Chain. Умная раздача токенов BEP-20 по тысячам адресов. Стоимость создания контракта также указывается в поле перед созданием контракта.
BEP–20 это умная сеть Binance знак стандарт, созданный с целью расширения ERC-20.
Кошелек Smart Chain будет включен по умолчанию, как только вы создадите новый кошелек. Если вы его еще не видите, попробуйте выполнить поиск и найдите «Smart Chain». Откройте свой кошелек Smart Chain, нажмите «Получить», чтобы получить адрес BEP20.
Как перевести токены BEP-20 в Binance Smart Chain
Введение
В этой статье мы расскажем, что такое стандарт токенов BEP-20; покажем, как выводить токены BEP-20, чтобы сэкономить время и комиссии; и поделимся списком бирж, которые поддерживают прямой вывод BEP-20.
Что такое BEP-20?
Благодаря стандарту BEP-20 вы можете:
Как вывести токены BEP-20
Вывод средств BEP-20 на BEP-совместимые кошельки поддерживают десятки бирж, избавляя вас от необходимости ручной конвертации токенов BEP-2 в BEP-20. Выводя токены BEP-20 напрямую, вы экономите время и деньги (затраты на комиссии), поскольку пропускаете этап конвертации токенов в BEP-20.
Вывод токенов BEP-20 с Binance.com
В этой статье мы продемонстрируем процесс вывода BNB с Binance.com на Trust Wallet. Процесс вывода средств приблизительно одинаков на всех криптобиржах и во всех кошельках.
Прежде чем начать, вы должны перейти в свой кошелек Trust Wallet (или любой другой BSC-совместимый кошелек) и узнать BSC-адрес получателя. Это очень просто: нужно всего лишь открыть кошелек, выбрать Smart Chain и нажать кнопку «Получить». На экране появится адрес. Сохраните его, так как он понадобится на шаге №3 данного руководства.
3. После перехода в меню вывода средств выберите монету, которую хотите вывести (в нашем случае BNB), введите адрес вывода (полученный в Trust Wallet), в качестве сети перевода выберите Binance Smart Chain и введите сумму, которую хотите вывести.
5. Следующие шаги – такие же, как и при любом другом выводе. Появится экран подтверждения, на котором будут показаны: курс конвертации, размер комиссий и детали транзакции.
6. После подтверждения вам будет предложено ввести код верификации для подтверждения вывода.
В ближайшее время ваша транзакция будет обработана. Средства должны появиться в кошельке Trust Wallet (в разделе Smart Chain) в течение нескольких минут после того, как вы получите электронное письмо с подтверждением вывода средств. Как только средства поступят, Trust Wallet отправит вам уведомление об успешном внесении токенов BNB BEP-20.
Следуя этим инструкциям, вы избегаете необходимости конвертации токенов BEP-2 в BEP-20, а также экономите время и затраты на комиссии. После получения перевода в Trust Wallet вы сразу можете взаимодействовать с любым dApp или проектом в BSC.
Биржи с поддержкой вывода BEP-20
Перечисленные ниже биржи поддерживают прямой вывод в BEP-20, благодаря чему работать в экосистеме BSC стало проще, чем когда бы то ни было.
Binance Smart Chain, токены BEP2 и BEP20 — Особенности
Первым токеном выпущенным на блокчейне Binance является BTCB — обеспеченный биткоином токен стандарта BEP2. Цена данного токена привязана к BTC по курсу 1 BTCB = 1 BTC. BTCB на 100% обеспечен таким же количеством BTC в публичном резервном адресе. Этот адрес полностью прозрачен для любого аудитора в любое время.
BEP2 — Токен в блокчейне Binance начинается с: bnb243ns6lfw5zs9hg1n82vdthaad7hq5m4gtkgf57.
ERC-20 — Токен в блокчейне Ethereum начинается с: 0x0e506cea3e2beba6df20138ef9f15b22c5a6ce74.
Точно так же адрес для OMNI и TRC-20 отличаются между собой:
OMNI — токен в сети Omni начинается с: 1LShrVV9EsfSS4crXLBo9BRVXyuHjf1Tsa.
Также адрес BEP-2 требует использования MEMO, который не требуется для пополнения и снятия OMNI, TRC20 или ERC-20. Таким образом, не должно возникнуть путаницы при внесении или снятии токенов.
Даже если вы введете неправильный адрес, биржа предупредит вас следующим сообщением — «Адрес не соответствует текущей выбранной сети, рекомендуется переключиться на другую сеть». Точно так же, когда вы отправляете монеты / токены из своего кошелька, вы получите сообщение об ошибке — «Адрес получателя недействителен», если вы введете неправильный адрес.
Но теперь для многих новичков все стало немного запутанным после того, как Binance запустила BSC (Binance Smart Chain) и открыла опцию ввода и вывода для токенов BEP20.
Итак, теперь, когда вы вносите или снимаете любую из этих монет, вам будет предложено выбрать тип сети. После ввода адреса кошелька или адреса получателя для вывода средств биржа автоматически выберет сеть на основе введенного адреса.
Но еще больше сбивает с толку то, что и BEP 20, и ERC-20 используют один и тот же формат адреса. Также они указали ETH как ERC-20. Надеемся, Binance изменит это в ближайшее время, чтобы избежать путаницы.
ETH не является ни ERC-20, ни BEP2, ни BEP20. ETH — это собственная монета в своей собственной цепочке. ERC 20 — это токен в цепочке ETH, а BEP 2, BEP 20 — токен в цепочке Binance и смарт-цепочке Binance соответственно.
Так в чем же разница между этими двумя сетями, почему BEP 20 использует тот же адрес, что и ERC 20, и какой из них нужно выбрать при переводе ETH или других монет?
Она не предназначена для конкуренции с Ethereum или замены ETH. BSC (Binance Smart Chain) — это просто ETH-совместимая цепочка, которая предназначена для предоставления пользователям дополнительных возможностей, таких как быстрое время блока (скорость транзакций), низкие комиссии и т. д.
Теперь пользователи смогут передавать один и тот же актив ( токен ERC20 ) в более короткие сроки и по заметно низкой цене (низкая цена на газ) через смарт цепочку Binance (токен BEP20). Они называются привязанными токенами (Pegged tokens).
Эти токены предназначены для торговли активами на DEX и получения выгоды от скорости и эффективности транзакций нового блокчейна. Данные монеты и токены упаковываются и привязываются Binance в соотношении 1: 1 к соответствующей собственной криптовалюте. На Binance Explorer Вы можете найти полный список Binance привязанных токенов (BEP 20) и их адрес контрактов.
Эти токены в настоящее время торгуются на Binance и Binance DEX. Вы можете переходить на Binance и обратно и в любое время и менять их на собственные активы.
Большинство популярных сегодня токенов — это токены ERC-20, созданные на основе Ethereum.
ERC-20 — это технический стандарт смарт-контрактов на блокчейне Ethereum для токенов.
BEP-2 — это технический стандарт для внедрения и запуска токенов в блокчейне Binance.
BEP-20 представляет собой стандарт токенов в смарт цепочке Binance.
Это все, что вам нужно понять: ERC 20 — это блокчейн Ethereum, BEP 2 — блокчейн Binance, BEP 20 — смарт цепочка Binance.
Поэтому при пополнении или снятии средств убедитесь, что выбрали правильную сеть. Убедитесь, что вы используете правильный блокчейн, который поддерживает платформа.
Стандарт BEP2 стал довольно популярным, поэтому появляются и соответствующие кошельки для хранения и переводов таких монет. Список наиболее используемых кошельков:
По умолчанию в кошельке присутствует только поддержка BNB, но любые другие токены перечисленных блокчейнов пользователь может добавлять и удалять вручную.
Это официальный кошелек монет BNB после запуска сети. Он позволяет хранить ваши активы буквально на Binance DEX. Веб-кошелек, созданный на DEX, представляет собой безопасный кошелек на основе блокчейна, который позволяет пользователям генерировать свои адреса BNB и контролировать свои закрытые ключи. Пользователи должны хранить свои приватные ключи в надежном месте, потому что их потеря означает потерю средств. Пользователь может отправлять и получать токены BNB, а также другие активы в цепочке Binance, с помощью своего веб-кошелька Binance Chain.
Чтобы создать кошелек, вам нужно создать файл пароля и хранилища ключей, который разблокирует ваш кошелек. Мнемоническая фраза из 24 слов и закрытый ключ — это основной метод защиты вашей конфиденциальности.
Криптокошелек Trust Wallet является одновременно полноценным Web3 браузером, с помощью которого можно взаимодействовать с DApps — децентрализованными приложениями, созданными в сети Ethereum.
Команда сервиса напрямую работает с разработчиками DApps – приложения подвергаются тщательной проверке после чего добавляются в местный маркетплейс кошелька. Список доступных DApps постоянно расширяется.
Для начала работы необходимо загрузить и установить приложение. Далее система предложит создать новый кошелек. Первым шагом станет установка seed-фразы. Представленные слова фразы необходимо записать и убрать на хранение в недоступное место. Завершающим этапом создания кошелька станет верификация seed-фразы.
Guarda Wallet — Это мультивалютный кошелек для криптовалюты, который предлагает онлайн, настольные и мобильные кошельки. Guarda можно синхронизировать с аппаратным кошельком Ledger Nano X для повышения безопасности, он не хранит ваши личные ключи и очень прост в использовании.
В отличие от многих других кошельков, вам не нужно устанавливать разные приложения для разных токенов — вы можете хранить их все в одном месте. Guarda Wallet поддерживает более 50 основных блокчейнов и более 400 тыс. токенов всех ведущих протоколов. Сохраняйте полный контроль над своими активами.
Кошелек Guarda имеет интуитивно понятный интерфейс, обеспечивает высокую степень защиты ваших средств и является самым простым способом хранения, отправки и получения необходимых токенов.
Возможности кошелька Guarda Wallet:
Вы можете быть полностью уверены в сохранности своих средств — вы единственный человек, у которого есть доступ к вашему кошельку. Guarda предоставляет вам полный пользовательский контроль над вашим кошельком и средствами. Как кошелек, не связанный с хранением, Guarda Wallet не требует никакой личной информации для создания кошелька, не хранит личные ключи пользователя и не имеет доступа к кошельку и средствам.
Кошелек доступен в 4 версиях:
Помимо обычных функций, среди которых хранение, ввод/вывод криптовалюты, также есть возможность сразу же купить нужное количество криптовалюты с помощью банковской карты либо совершить обмен одной криптовалюты на другую.
Binance DEX — Это децентрализованная биржа, разработанная поверх Binance Chain, с низкой задержкой, высокой пропускной способностью, низкими тарифами и UX, похожая на существующие централизованные биржи. Поддерживает любые ERC-20 и BEP2 монеты.
По словам гендиректора Binance Чангпенга Чжао (CZ), целью создания DEX-площадки была реализация «надежной и прозрачной финансовой системы, которая принесет сообществу новый уровень свободы, предложив гораздо больший контроль над собственными активами».
Благодаря тому, что DEX построена на базе сети Binance Chain, обладающей высокой скоростью и устойчивостью к нагрузкам, она может легко справляться с теми же объемами торгов, что и централизованная площадка.
Ledger — Аппаратный кошелек. Является продолжением линейки аппаратных кошельков производства французской компании Ledger. Поддерживает любые ERC-20 и BEP2 монеты.
Девайс обладает следующими опциями:
Компания Ledger выделяет четыре основные пункта в безопасности кошелька:
Список поддерживаемых криптовалют:
Trezor — Аппаратный кошелек для криптовалюты. Отличается интуитивно понятным веб-интерфейсом. После установки предоставляет возможность ознакомиться с историей транзакций, получать биткоины, отправлять их, работать со многими сторонними приложениями. Поддерживает любые ERC-20 и BEP2 монеты.
Первичная настройка кошелька несложна, однако имеется ряд особенностей, которые необходимо озвучить. В документации, входящей в комплект поставки, а также находящейся на сайте, рекомендуется начать работу с устройством с сайта — https://wallet.trezor.io. Данный сайт является веб-интерфейсом для работы с Trezor и предоставляет весь необходимый функционал, для работы с кошельком. В качестве браузера необходимо использовать Chrome (во всех трех поддерживаемых операционных системах), поскольку именно для него создано специальное расширение.
Для работы в других браузерах существует возможность установки дополнительного приложения под названием «TREZOR Bridge». При его запуске загружается служба «trezord», запускающая локальный веб-сервер, с которым, в свою очередь, и взаимодействуют другие браузеры.
Аппаратный кошелек Trezor рекомендуется тем, кто беспокоится о безопасности собственных средств, хранящихся в биткоинах или поддерживаемых альткоинах. Причем, кошелек является именно дополнительной защитой, реализуемой встроенным микроконтроллером Cortex M3. Для обеспечения защиты используются официальные реализации BIP39 (для работы с ключевыми словами), а также BIP32 и BIP44.
Однако, кошелек не хранит в себе весь набор транзакций, используя для этого внешнее хранилище, с которым и организована работа. По этой причине, данный кошелек для криптовалюты можно назвать только условно аппаратным. Тем не менее, в своем сегменте Trezor достаточно популярен и эту популярность ему обеспечивает именно реализация обратной связи с пользователем, что является «изюминкой» данного устройства.
В данной статье, мы постарались объяснить, что такое стандарт BEP2 и BEP-20, чем он отличается от стандарта ERC-20 и в каких кошельках можно хранить данные токены. Надеемся статья была полезной и информативной.
Как написать смарт-контракт для ICO за 5 минут
В Интернетах этих ваших и так полно статьей про смарт-контракты, но как только начинаешь писать оный, сталкиваешься с тем, что информация везде повторяется, а туториалов, как запулить свой ERC20 попросту либо нет, либо они устарели что аж донельзя. К слову, чтобы эта статья оставалась актуальной, постараюсь указать потенциальные места, где она может устареть (и как это поправить). Поехали!
Solidity
Это название главного языка, который разработала команда кефира для запуска смарт-контрактов. Если вы программист, то просто пробегитесь глазами по документации языка — он неприлично простой. К слову, сделали его простым, чтобы было сложнее ошибиться в написании смарт-контракта. Так что абсолютно любой программист хотя бы уровня джуниора сможет разобраться в нем. Абсолютно нет смысла платить огромные деньги разработчикам, которые знают солидити — обучить уже существующего разработчика будет на порядок дешевле.
Смарт-контракты
А если вы пометите функцию в контракте словами Constant или View (означают одно и то же, разрешают только читать состояние), либо Pure (то же самое, только даже состояние не читает), то на исполнение этой функции даже кефир тратить не нужно будет! Даже больше скажу, эти функции не нужно вызывать транзакциями — ведь любой клиент кефира, теоретически, сможет ее выполнить у себя — и никому больше об этом знать не нужно (в блокчейн ведь ничего не пишется).
А еще есть две важные штуки в солидити: множественное наследование и модификаторы функций. Про них тоже нужно знать.
Второе — это возможности создавать функции, которые потом будут вставлены в другие функции. Это как простая инкапсуляция, только чуть более гибкая — это буквально шаблон функции. Когда вы создаете модификатор, вы пишете специальный символ _ там, где подразумеваете код функции, использующей этот модификатор. То есть модификаторы — это не просто инкапсулированный функционал, который возвращает значение; это — шаблон функции, когда код из модификатора буквально вставляется в функцию, использующую этот модификатор.
Перейдем к практике.
Готовим окружение
Если вы не знаете, что такое Терминал — почитайте вот эту статью. Если вы на окнах, ставьте себе Терминал через WLS. Если вы уже знакомы с Терминалом, продолжим. Алсо, сразу поставьте себе Node.js — он будет необходим для следующих шагов. Лучше ставить LTS, но, на самом деле, абсолютно без разницы, какую из современных версий ноды ставить.
Если вам выплюнуло версию geth — все в ажуре, продолжаем туториал. Если нет — хреново, исправляйте; придется, похоже, заняться любовными ласками с Терминалом и своей операционной системой — но вам не впервой, разберетесь. Как установите geth, запускайте в Терминале команду:
Это запустит процесс синхронизации вашей ноды с тестовым сервером, блоки которого можно глянуть вот тут. Проверить, синхронизировались ли вы с сетью в консоли geth можно, прописав:
Алсо, я накидал простенький баш-скриптик, который установит все за вас. Вызывается вот так:
— но я его ни разу не тестил еще, так что не уверен в его работоспособности. Однако пулл-реквестам буду только рад.
Фигачим контракт
За вас все уже придумано и написано — это хорошо. Немного головняка будет все равно — но я постараюсь вам его минимизировать. Использовать мы будем уже готовые ERC20 контракты от OpenZeppelin — это сейчас стандарт индустрии, они прошли аудит, да и вообще все их код используют. Спасибо им огромное за вклад в опенсоус.
Сделайте cd в какую-нибудь безопасную папку и после пропишите:
В этой папке и будем работать. Создадим здесь заглушку для нашего смарт-контракта:
Дальше нам нужно забрать текущий код смарт-контрактов из npm и, собственно говоря, начать сам проект:
Ага, вот вам и весь ERC20 интерфейс. Сложно? Не думаю. Дает возможность глянуть, сколько было выпущено токенов, проверить баланс адреса и перевести токенов на другой адрес, выплюнув в сеть событие перевода для легких клиентов кефира. И все это вы получаете фор фри в вашем MyToken.sol благодаря работе OpenZeppelin — они молодцы.
Так-так-так, что тут у нас? Что, пацаны, смарт-контракты? Наша публичная продажа токенов наследует три самых популярных свойства: у нее есть хард-кап, больше которого собрать не получится; софт-кап, не собрав который эфиры возвращаются; время начало и конца продажи токенов. Собственно говоря, а что еще для счастья нужно?
Вот и все — у вас есть готовые контракты вашего собственного ERC20 токена и даже смарт-контракт ICO, который настраивается по вашему желанию и раздает ваши токены за кефир. Алсо, его поддерживают все ERC20 кошельки — ляпота! Перейдем к ручным тестам и деплою.
Миграции
Заметка про web3.eth.accounts[0] : когда деплоите смарт-контракт, убедитесь, что geth или testrpc имеют правильный кошелек в web3.eth.accounts[0] — не теряйте приватный ключ к нему, хоть это никак вам не навредит, но вдруг владельцу что-нибудь потом нужно будет сделать, а ключа уже нет?
Тестирование и деплой
Йес, контракты готовы, миграции написаны, осталось только задеплоить и проверить. Как geth (тестовый и реальный), так и testrpc управляются одинаково через truffle console — так что опишу способ проверки для testrpc и просто расскажу, как включить geth после. И так, запускаем тестовый локальный блокчейн кефира:
Эм… вот и все. У вас локально работает симуляция блокчейна кефира.
Теперь открываем новое окошко Терминала ( testrpc не закрываем — он должен работать) и прописываем в папке проекта:
Эта магическая команда скомпилирует смарт-контракт (то есть не нужно каждый раз писать truffle compile ) и задеплоит его на микро-сервер блокчейна, найденный открытым локально. Стоит отметить, что если testrpc сделает это мгновенно, то тестовый и реальный блокчейны будут гораздо дольше включать транзакцию в следующие блоки. После этого у вас должно выплюнуться нечто подобное в консольку:
Прописываем следующее в теперь уже трюфеле (без комментариев только):
В случае с testrpc можно сразу же проверять снова баланс нашего кошелька, но в случае с тестовым и реальным блокчейном нужно подождать, пока транзакция наша будет включена в блок — обычно, когда это происходит, трюфель выдает вам номер транзакции. Подождали? Проверяем снова наш баланс в MyToken :
Заключение
Удачи в разработке смарт-контрактов! Остались вопросы? Милости прошу в комментарии — с удовольствием на все отвечу и постараюсь помочь с проблемами.
Бонус
А что, если вы хотите изменить логику, по которой считается цена покупки токенов? Конечно, можно изменить правильно rate или использовать один из классов контрактов от OpenZeppelin, но вдруг вы хотите чего-нибудь еще более извращенного? В смарт-контракте можно оверрайтнуть функцию getTokenAmount следующим образом:
В общем, так можно сделать цену токена зависящей от времени покупки — чем дальше в лес, тем дороже токены. Не бойтесь экспериментировать и переписывать некоторые функции смарт-контрактов — это весело!