✅✅✅
Продолжаем долбить смарт-контракты. Хочу сделать целую подборку постов на эту тему.☺️
Часть 1. Введение в смарт-контракты для чайников.
⬇️⬇️⬇️
https://t.me/CryptoBotan/725Часть 2. Недостатки смарт-контрактов и его составные части.
⬇️⬇️⬇️
Как и все вокруг, имеющее перспективы, смарт-контракты имеют свои недостатки.
1) О
тсутствие регулирования. Тут думаю и так понятно, разжевывать не стоит.
2) О
тсутствие функциональной гибкости.
По-крайней мере на данном этапе развитии. При использовании традиционных соглашений всегда есть возможность договориться или изменить его условия, но при использовании смарт-контрактов реализовать такие изменения в ходе его исполнения затруднительно.
3)
Затраты на разработку
Процесс создания смарт-контракта является сложным, и чем больше условий и аспектов, которые должен отслеживать контракт (состояние товара в процессе транспортировки, таможенные действия и т.п.), тем сложнее их описать и учесть на момент заключения
подобного договора.
4)
Человеческий фактор
Смарт-контракт в своей основе имеет программный код, который из-за допущенных ошибок на стадии его написания (программирования) может функционировать некорректно, что, в свою очередь, может привести к некорректному исполнению условий смартконтракта или возникновению условий для совершения мошеннических действий.
🌴🌴🌴
Сегодня крипторынок предлагает разработку смарт-контрактов для Ethereum, Hyperledger Fabric, Cardano, NEO и других блокчейн платформ. Кто не знал, но и существует разработка смарт-контрактов и для биткоина, но он не содержит маркеров состояний и не дает программистам свободу действий.
Ethereum - самая популярная платформа для создания децентрализованных онлайн-сервисов на базе блокчейна (децентрализованных приложений), работающих на базе умных контрактов.
В 2014 году для записи кода смарт-контрактов Ethereum был спроектирован специальный язык программирования Solidity. Это один из четырех языков (среди Serpent, LLL и Mutan), спроектированных для трансляции в байт код виртуальной машины Ethereum.
Объем смарт-контракта определяется количеством строк с записями. Чем сложней условия, тем больше строк в программном коде. Готовый код смарт-контракта транслируется в байт-код виртуальной машины Ethereum, приводящей контракт в исполнение. По мере выполнения условий контракта компьютеры и узлы блокчейна обновляют регистр.
На примере организации первичного выпуска токенов приведу основные составляющие смарт-контракта
Структура основной части кода представляет собой иерархию контрактов, прописывающих тот или иной завершенный функциональный цикл, и состоит из ключевых элементов:
1)
Owned Контракт должен знать своего владельца и именно за это отвечает контракт «owned».
2)
Crowdsale
Этот контракт содержит информацию о сборе средств и распределении токенов. Важно, что этот контракт должен содержать следующие элементы, которые являются обязательной частью стандарта ERC20:
- Общее количество токенов, выпущенных смарт-контрактом;
- Информация о балансах всех держателей токенов;
- Событие Transfer, которое должно испускаться смартконтрактом при каждой операции перемещения токенов между держателями токенов.
- Функция fallback отвечает за порядок действий в случае поступления эфиров на счет смарт-контракта. Она вызывается каждый раз, когда эфир поступает на адрес нашего смартконтракта.
3)
EasyToken
Этот контракт фиксирует полное и сокращенное название токена, определяет его делимость или неделимость. Функция «transfer» в этом контракте, которая также является частью стандарта ERC20 и позволяет кошелькам пользователей осуществлять передачу токенов друг другу, переводить их на биржу и выводить их с нее.
Далее регистрируются прочие условия смарт-контракта (срок проведения ICO, softcap и hardcap и так далее). Но важно не утяжелять конструкцию кода без необходимости, так как чем больше данных, тем выше вероятность допущения ошибки.