Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    ivan-ochc
    @ivan-ochc
    @sheb-gregor, это тот же сценарий с переносом на новый сервер или уже на одном и том же сервере паникуют?
    Michael Popsuev
    @sheb-gregor
    на новом сервере
    Gab0
    @breseda
    Hola desde mexico
    Rouc4
    @Rouc4
    Всем привет! Ребят подскажите, существует ли такая возможность запустить сервис на java-binding параллельно существующему проекту exonum на 0.12.0 версии (возможно с рестартом сети узлов или без такового)? Т.е. один блокчейн с двумя рантаймами, но одной базой?
    Dmitry Timofeev
    @dmitry-timofeev

    Привет, @Rouc4 ,

    Да, это возможно, если добавить в список растовых сервисов, вкомпилированных в приложение exonum-java, необходимые растовые сервисы. Пока это не очень удобно с т.з. сопровождения, т.к. exonum-java пока является только приложением, т.е. его нельзя, как икзонум, подключить в качестве библиотеки и при создании узла зарегистрировать дополнительные растовые сервисы, а нужно патчить. Кроме того, в 0.12 регистрация новых сервисов в запущенной сети имеет некоторые ограничения: требуется остановка сети, и отсутствие конфигурационных параметров у нового сервиса (всё это будет исправлено с поддержкой динамических сервисов, над которой сейчас работаем).

    Подробнее о том, как это сделать сейчас, не дожидаясь ДС (Exonum Java 0.8.0 based on Exonum 0.12.0):

    1. Ваши существующие растовые сервисы извлечь в отдельную библиотеку
    2. Склонировать exonum-java
    3. Модифицировать exonum-java, расширив список системных сервисов (см. метод prepare_service_factories as of ejb/v0.8.0). В exonum-java они конфигурируются, вы же можете регистрировать необходимые сервисы безусловно, что будет еще проще.
    4. Собрать модифицированное приложение (см. CONTRIBUTING.md) и использовать его для запуска узлов сети.

    
Последнее: стоит учитывать при планировании, что нативный код exonum-java, связанный с инстанциированием системных сервисов, существенно изменится в ближайшие недели при реализации динамических сервисов.

    Rouc4
    @Rouc4
    @dmitry-timofeev спасибо! Очень признателен за ответ!
    Aleksey Sidorov
    @alekseysidorov
    Еще хочу заметить, что если добавленый таким ad-hoc способом сервис имеет state hash, то он его не должен вычислять для высот меньше, чем момент добавления сервиса. Иначе это сломает работу аудиторов
    Rouc4
    @Rouc4
    @alekseysidorov, понял. Спасибо! Буду изучать.
    Elena Buzovska
    @Buzovska
    @/all Самое время зарегистрироваться на бесплатный вебинар для разработчиков от Exonum. Мы покажем как разработать электронный аукцион на блокчейн. Зарегистрироваться сейчас: https://bitfury.zoom.us/webinar/register/6315689822497/WN_pZf4qC9YQWKrm_6poKyzIA
    Vladislav Karnaukhov
    @Asmor-K
    Добрый день, могут ли ноды, в частности валидаторы, иметь одинаковые сервисные ключи?
    Rouc4
    @Rouc4
    @Asmor-K что вы подразумеваете под сервисными ключами? Всем ДД!
    Aleksey Sidorov
    @alekseysidorov
    Нет, там в коде теперь есть проверка, чтобы все ключи были уникальными, иначе это делает решение небезопасным
    Arsen Guzhva
    @Erchard
    Привет. В старых версиях Экзонума были красивые логи при запуске ноды.
    Как-то можно их включить в 12 версии?
    или какой-то ключ нужно указывать/неуказывать ?
    ivan-ochc
    @ivan-ochc
    Привет. @Erchard , не могли бы вы уточнить что именно вы имеете ввиду? Логи как-то отличались от стандартных (RUST_LOG=exonum=info)?
    Arsen Guzhva
    @Erchard
    Все норм. Нашел. Спасибо.
    Sanin Ivan
    @Sanin_Ivan_twitter
    привет, подскажите, я правильно понимаю, что самый простой способ послать транзакцию в метод "/api/explorer/v1/transactions" это через exonum-light-client ?
    ivan-ochc
    @ivan-ochc
    @Sanin_Ivan_twitter, да, через python или js клиент
    Sanin Ivan
    @Sanin_Ivan_twitter
    @ivan-ochc спасибо
    Sanin Ivan
    @Sanin_Ivan_twitter
    привет, а подскажите blockchain-explorer будет работать с 0.12 версией экзонума ?
    на гитхабе написано, что поддерживается версия 0.10, про 0.12 ничего не сказано
    ivan-ochc
    @ivan-ochc
    привет. на 0.12 работать не будет.
    Sanin Ivan
    @Sanin_Ivan_twitter
    @ivan-ochc а планируется поддержка ?
    ivan-ochc
    @ivan-ochc
    да, планируется, но точных сроков сейчас не могу сказать
    Sanin Ivan
    @Sanin_Ivan_twitter
    понял, спасибо
    Sanin Ivan
    @Sanin_Ivan_twitter
    привет, а есть у вас докер с необходимым окружением, чтобы билдить приложения, основанные на фреймворке экзонум ?
    вопрос снимается, похоже нашел https://hub.docker.com/r/exonumhub/exonum-cryptocurrency-advanced
    Sanin Ivan
    @Sanin_Ivan_twitter
    @ivan-ochc привет, а у вас нет докерфайлов сборки exonum под alpine ?
    ivan-ochc
    @ivan-ochc
    @Sanin_Ivan_twitter , привет, нет, есть только под убунту
    Sanin Ivan
    @Sanin_Ivan_twitter
    расточительно )
    Sanin Ivan
    @Sanin_Ivan_twitter
    привет, а здесь можно задавать вопросы по exonum cis ?
    Roman
    @rshirochenko
    Привет, @Sanin_Ivan_twitter! по вопросам по exonum cis можешь писать мне в личку :)
    Sanin Ivan
    @Sanin_Ivan_twitter
    вопросик такой возник, вот есть у нас ноды высотой 5923944, у одной из нод грохнули базу, сейчас она синкается и происходит это не быстро, можно как то ускорить этот процесс ? если перенести всю папку db с одной ноды на другую так получится или так не будет работать ?
    ivan-ochc
    @ivan-ochc
    @Sanin_Ivan_twitter , да, так можно сделать
    Sanin Ivan
    @Sanin_Ivan_twitter
    @ivan-ochc а пока идет синхронизация 4й ноды из 4х в сети консенсус работать не должен, я правильно понимаю ?
    ivan-ochc
    @ivan-ochc
    @Sanin_Ivan_twitter , в этом случае консенсус будет работать
    Sanin Ivan
    @Sanin_Ivan_twitter
    @ivan-ochc привет, а java-binding можно писать на котлине ?
    Dmitry Timofeev
    @dmitry-timofeev

    @Sanin_Ivan_twitter , еще не пробовали, но судя по официальной документации котлина, то должно работать. Насколько понимаю, нужно будет в зависимостях сервиса указать стандартную библиотеку котлина и настроить сборку исходников.

    Один нюанс: т.к. каждый Икзонум-сервис загружается отдельным загрузчиком, то при такой организации для каждого типа сервиса будет загружена своя копия стандартной библиотеки котлина, что при большом числе одновременно загруженных различных типов сервисов приведет к повышенному расходу памяти (и ЦПУ на JIT и GC). Но это несущественно для большинства применений (если у вас меньше дюжины различных типов сервисов).

    Если потребуется что-то еще либо этого достаточно — дайте знать, пожалуйста, о результатах! Полноценную поддержку котлина, думаю, добавим несколько позже.
    Sanin Ivan
    @Sanin_Ivan_twitter
    @dmitry-timofeev спасибо, есть пища для размышлений !)
    Rinat Vasilev
    @badadin
    Здравствуйте. Есть ли какой-нибудь тестовый, уже развернутый сервер, чтобы к нему подключиться и потестить проект с Java Light Client внутри?
    Vladislav Karnaukhov
    @Asmor-K
    Добрый день, возникла проблема с exonum v0.11 по трейс логу нода падает при прыжке на первый раунд, а именно MAKE LOCK (1), и потом выдает illegal instruction (core dumped), в чем может быть проблема?
    Aleksey Sidorov
    @alekseysidorov

    Вообще illegal instruction обычно говорит о том, что виртуалка на которой запущено приложение не предоставляет инструкции какие-то обычно это sse4.1

    Проверить очень далеко. Нужно или запустить ноду под gdb или lldb и дождаться падения, а потом посмотреть стек трейс.
    Или уже найти куда он сохранил core dump и открыть уже его чтобы стек трейс получить

    Vladislav Karnaukhov
    @Asmor-K
    @alekseysidorov нода запущена в докере, при этом на сборке от 14 февраля нет никаких проблем, на более свежих сборках, нода начинает падать после первой транзакции не из exonum_time, в какой зависимости может быть проблема?
    Aleksey Sidorov
    @alekseysidorov
    Без стек трейса не подскажу, увы.
    Vladislav Karnaukhov
    @Asmor-K
    Спасибо за информацию, если не получится самому разобраться в трейсе, то обращусь
    Sanin Ivan
    @Sanin_Ivan_twitter
    привет, вопрос такой, если у меня несколько интерфейсов с транзакциями #[exonum_interface], то в каждом интерфейсе должна быть своя нумерация методов #[interface_method(id = 0)] или сквозная нумерация через все интерфейсы ?
    Sanin Ivan
    @Sanin_Ivan_twitter
    один сервис наследует несколько интерфейсов
    Alex Ostrovski
    @slowli
    @Sanin_Ivan_twitter Привет, каждый интерфейс имеет свою нумерацию; т.е. не нужно заботиться о том, чтобы идентификаторы методов в различных интерфейсах не пересекались.