Привет, я из команды Waves, могу ответить на некоторые коментарии.
Это больше не контракт, а скрипт. + капля логики.
Да, это не-тьюринг полный скрипт, который позволяет выполнять на блокчейне некоторую логику. Особенность в том, что мы можем заранее оценить сколько ресурсов она потребует и брать фиксированную плату за транзакции.
Контракты простыми не назвать. В основу взят F#.
Лично я испытываю боль, когда читаю scala, F#, haskel итд. Если вы не имеете опыта в функциональном программировании - дальше будет жесще.
Лично я тоже не являюсь фанатом функциональных языков и мне не просто читать код на них. Но если мы говорим, про Ride, то ему до того же F# очень далеко. Это очень простой expression-based язык. Может быть вас смутило использование ключевого слова let? Если заменить его та тот же var, то вам наверное будет привычнее.
let commonAmount = (tx.transfers[0].amount + tx.transfers[1].amount)
let totalAmountToUsers = commonAmount == 800000000
let totalAmountToGov = commonAmount == 200000000
let massTransferType = ((tx.type == 11) && (size(tx.transfers) == 2))
let accountPK = base58'F513BpNrRKpzPoicojbyJUyNqgxARyABAoA1NsFBvAsB'
let accSig = sigVerify(tx.bodyBytes,tx.proofs[0],accountPK)
let txToUsers = (massTransferType && totalAmountToUsers)
let mTx = getTransactionById(tx.proofs[1])
let txToGov = (massTransferType && totalAmountToGov)
let txToGovComplete = (isDefined(mTx)) && (((tx.timestamp > (extract(mTx).timestamp) + 30000)) && sigVerify(extract(mTx).bodyBytes, extract(mTx).proofs[0], accountPK))
(txToGovComplete && accSig && txToGov) || (txToUsers && accSig)
Что имеем:
По сути есть пара страниц доков и все.
IDE ничего не умеет. (По сути это не IDE, а блокнот). Компилировать не умеет, ошибки не валидирует, сохранять не умеет. Может через год с этим можно будет хоть как-то работать. Хочется спросить: "Сами то своей IDE пользуетесь?"
Контракт не пощупаете, если у вас не запущен собственный тестнет, тк. токен доступа на чужой вам никто не даст.
Песочницы локальной нет. (Првет Remix).
Всё правильно, вы смотрите на прототипы продукта и инструментов и удивляетесь тому, что видите прототипы и что они менее функциональны и стабильны, чем готовые продукты. Есть люди, которых это расстраивает, а есть те, кто готов работать с прототипами и развивать продукты. В этом нет ничего страшного.
Вы даже не можете доп комиссию забирать с переводов вашего токена(Кстати это операция не имеет полноту по тьюрингу, в чем проблема?).
Заморозку ассетов в контракте тоже не сделать. Для этого отдельную фичу пилят лол.
Я хз куда смотрит продакт овнер. Странный вектор развития.
Я думаю так и будет в дальнейшем. Любой чих - это новая фича.
Это всё вопросы к концепции. Концепции есть разные, есть концепция эфира, где нет ничего, кроме дапов и всё остальное нужно эмулировать. Есть противоположная концепции - побольше всяких конкретных фич в ядре. Первый вариант тяжёлый и дорогой, он гибкий, но некоторые вещи сделать сложнее. Концепция Waves в том, что мы не пишем немного оптимизированный клон эфира, а делаем продукт, в которм пытаемся найти баланс между этими двумя полюсами. Так что здесь надо разбирасться в соотношении гибкости, стоимости и расширяемости разных подходов, не просто заявлять "Вы даже не можете сделать ... лол".
ИМХО: Пока тьюринг полных контрактов нет, эта платформа проигрывает. Да и тьюринг полные контракты по возможностям не встанут даже рядом с эфиром или еосом я на 100% уверен.
Гайды по контрактам тоже не ждите до релиза. Релиз будет вероятно в июле. А знаете, что будет в июле? Огромная масса разработчиков пойдет штудировать документацию по EOS.
А зачем идти учить контракты волн, если мы увидим лям(хотя бы 100к tx/sec) + тьюринг полные контракты имеющие огромные возмоности, закрывающие бизнес потребности полностью?
Вторая крайность, давайте существующий прототип сравнивать с несуществующим продуктом. 100k транзакций скорее всего это такой же конь в вакууме, как и у битшарес, которые тесили кусочек кода без учёта синхронизации и криптографии. Я, кстати недавно искал актуальный роадмап еоса и документацию, ни того ни другого не нашёл, как и тулы для разработки. Одна реклама пока. Может и будет что-нибудь, чуваки уже вторую платформу делают, на ошибках научились, но сравнивать не корректно.
Я думаю то, что волны решили отсидеться в стороне до запуска контрактов в маиннете, это ужасная ошибка. Разработчиков на вашу платформу нужно выращивать уже сейчас, чтобы понять можно ли использовать waves как платформу или идти к другим платформам.
В момент запуска будет хотябы 2 человека на рынке кто будет уметь делать контракты, кроме автора языка.
Нет, отсидеться не решили, работа идёт. Как раз таки прототипы выкатываются для тестирования, это значит команда не отсиживается. Будем привлекать девелоперов тестировать и прототипировать. Будем дорабатывать документацию, инструменты, сам язык, оптимизировать ноду.