Добрый день. Вижу, что многие в этой ветке ждут появления смарт контрактов на волнах и я в том числе.
Токен является частью платформы Waves. В этом есть плюсы и безусловно минусы. Я хочу видеть в возможностях контрактов полноценную работу с токенами:
- Выпуск токена;
- Перевыпуск токена;
- Сжигание токена;
- Отправка волн/токенов;
- Сдача в лизинг;
- Выход из лизинга.
DEX - разработчики тратят много сил на разработку и продвижение биржи. Хочется видеть базовый набор возможностей в контрактах:
- Создание ордера;
- Отмена ордера;
Как-то вечером зашел в репозиторий waves на github и откопал ветку с текущим кодом контрактов. Сегодня мы имеем то, что выполнение контракта -
это обычная транкзакция. Идем дальше. Видел презентации, где разработчики утверждали, что на волных не будет газа.
На практике это не совсем правда. В коде есть функция подсчетов операций в контракте. Каждая операция стоит определенное количество единиц комиссии. В результате размер комиссии по выполнению контракта является сумма всех операций в контракте. Ну допустим.
Мы знаем, что выпуск/перевыпуск/сжигание токена на платформе стоит 1 waves. Я не нашел кода, который описывает выпуск токена внутри контракта. Возможно его еще не написали. Предположим, что такая возможность будет. В таком случае
комиссии за выполнение контрактов с легкостью могут быть больше 1 waves. Такие комиссии непозволительно большие и контрактами с такими комиссиями попросту никто не будет пользоваться.
Мечты о тесной интеграции платформы в контрактах рушится на глазах. Я почти уверен, что работы с токенами в контракте не будет. Максимум - это переводы. Кстати об интеграции контрактов с dex тоже пока кода нет. Думаю и не будет.
Для тех, кто не понимает, зачем иметь возможность выпуска токена в контракте - приведу очевидный пример использования контракта для запуска ICO:
Создание_контракта(date_start, date_end, soft_cap, hard_cap, price, name, desription, decrimals, reissuable, burn_cap)
- date_start - Дата начала;
- date_end - Дата завершения;
- soft_cap - Нижний порог в waves;
- hard_cap - Верхний порог в waves;
- price - Цена за 1 токен в waves;
- name - Название;
- desription - Описание;
- decrimals - количество знаков после запятой;
- reissuable - true, если можно переиспользовать;
- burn_cap - false, если общие количество токенов должно равняться hard_cap.
Такой контракт позволяет не плодить токены, есл soft_cap не пробили. И не палить токен в dex на этапе ico.
По достижению условий date_start контракт начинает работу и при достижении hard_cap или date_end заканчивает. Если soft_cap
был достигнут - то выпускается токены с параметрами из контракта и идет распределение токенов иначе все средства возвращаются отправителям.
Я понимаю, что это контракт, требующий полноту по Тьюрингу. Но тем не менее. Абстрагируемся от Тьюринга и сосредоточимся на возможностях работы с токенами в контрактах.
Кстати убрать полноту по Тьюрингу можно путем добавления дополнительной функции расчета, которая посчитает сколько токенов получилось у пользователя и вышлет их ему.
Ничего сложного. Но увы такой возможности не будет, т.к. функция подсчета комиссии посчитает нам более 1,001 WAVES комиссий на выполнение команды в контракте. А это непозволительно много для комиссии за транзакцию.
Также если токен имеет параметр reissuable = true - Я хочу знать по каким правилам и критериям контролируется эмиссия.
В идеале контролем эмиссией должен заниматься контракт, а не человек в клиенте.
В итоге текущий вид контрактов вырисовывается с весьма слабым функционалом. С такими ограничениями массовую интеграцию контрактов в продукты ждать не стоит.
И еще. После выхода контрактов по большому счету реализацию токенов и лизинга можно смело реализовать через контракты. А значит можно задуматься над тем, чтобы вырезать из кода платформы огромные пласты кода.
Все это можно изменить, если Саша решит убрать плату в 1 WAVES за выпуск токена. На другой стороне весов захламленность платформы фантик-токенами тоже допустить нельзя. Нужно думать.
Надеюсь люди имеющие отношения к Waves придут и расскажут о том, какие возможности контрактов планируются к реализации на платформе.
Боль.