Нужна помощь по Бигчейн БД

У меня есть два вопроса:

  1. Могу ли я как-то получить доступ ко всем блокам в большой цепи, структура блоков не имеет атрибута "высота блока". Мы можем получить доступ к блоку по "идентификатору блока". Что мне нужно сделать, это получить данные из всех блоков, начиная с Genesis.

  2. В документации Bigchain DB говорится, что мы можем реализовать умный контакт, но нет ничего более того, кто-нибудь может объяснить, как мы можем это сделать.

1 ответ

Решение

Вопрос 1

В BigchainDB нет прямого способа получить блоки по "высоте блока", по крайней мере, не сегодня. Существует обходной способ пройти через все блоки: сначала отправьте действительную транзакцию и подождите, пока она не окажется в допустимом блоке. Затем получите идентификатор блока, в котором он находится. Затем получите голоса, которые проголосовали за этот блок. Каждый голос включает в себя идентификатор предыдущего блока. Получить этот предыдущий блок. И так далее.

Чтобы сделать все это, вы можете использовать HTTP API. Вы также можете использовать один из драйверов (например, драйвер Python или драйвер JavaScript).

вопрос 2

Стандартный BigchainDB не поддерживает полноценные смарт-контракты, схожие с Ethereum, но поддерживает некоторые функции, которые обычно используются для реализации смарт-контрактов. В частности, неизрасходованный вывод может быть заблокирован крипто-условием. Он может быть разблокирован только кем-то (или какой-либо группой), способным удовлетворить это крипто-условие. Поддерживаемые крипто-условия такие вещи как:

  • Простое условие подписи, то есть отправка сообщения и подписи, соответствующей предоставленному открытому ключу.
  • Условие мульти-подписи, например, 3 из 5.
  • Обобщения мульти-сиг, например ((A или B) и C) или (3 из 4).
Другие вопросы по тегам