Проблемы, с которыми мы столкнулись при интеграции EOS блокчейна



Вот уже пол года мы интегрируем EOS блокчейн в наш IOT проектик. Мы насобирали пачку граблей о которых я собираюсь Вам поведать.

Что мы делаем?

Мы пилим универсальный транспорт для пересылки данных от IOT девайсов к их получателю. Блокчейн нам нужен для того, что бы гарантировать прозрачность взаиморасчётов. Например, что бы гарантировать, что владелец проксей, не выставил счёт на больше денег, чем реально транзакций через него прошло, или владелец девайсов не занизил количество бабла которое он должен оплатить проксям.

Итак, приступим.

Поднимая сеть EOS

На оф сайте дофига документации, но вся она устаревшая, либо не полная. Нам пришлось потратить прилично времени и граблей, прежде чем смогли поднять свою приватную сетку.

Так же нужно внимательно читать релизноуты на гите, ибо специфические версии EOSIO нуждаются в определённых версиях контрактов, а контракты в определённых версиях CDT, а цдт ... ну Вы поняли.

Контракты

Контракты хоть и пишутся на C++, но на кастрированном C++, например, у вас не будет cpp hashmap по этому мы юзаем просто map, нет поддержки try-catch, и все либы что их юзают, не работают.

Частенько компилятор не может докомпилировать контракт, из-за бага связанного с виртуализацией, почитайте эту эпическую веточку: https://github.com/EOSIO/eosio.cdt/issues/288, нам просто предлагают не использовать виртуализацию.

Плагины

Поверх блокчейн ноды лежит пачка плагинов, всё бы хорошо, но часть из них работает криво, например, плагин history, на запрос блока, иногда может отвечать пустыми данными, а не ошибкой, в итоге получаешь неверные данные. Адругой плагин, chain, если не путаю, ваще не работает по запросам транзакций по ID.

Update

Судя по всему, мы первые, кто решил запилить на ЕОСе что-то действительно серьёзное, а не очередную лохотрон рулеточку.

Нащупали мы лимит на размер wasm+abi в районе 550кб. И внезапно об этом лимите сами разработчики нифига не знают.

Проявляется эта проблема при попытки залить контракт юзеру. Вываливается вот такая ошибка:

Если уменьшить общий размер wasm+abi то всё пролазит нормально.


Сообщество: AWS

Комментариев(0)


Всего: 0 комментариев на 0 страницах

Ваш комментарий будет анонимным. Чтобы оставить не анонимный комментарий, пожалуйста, зарегистрируйтесь



Сообщества