Cardano-db-sync: Добавьте nullable slot_leader.pool_hash_id

Созданный на 19 июл. 2020  ·  4Комментарии  ·  Источник: input-output-hk/cardano-db-sync

Чтобы включить модель Block.forgedBy -> StakePool и StakePool.blocksForged -> [Block]
См. https://github.com/input-output-hk/cardano-ledger-specs/pull/1637 .

enhancement

Самый полезный комментарий

Да, вы можете получить идентификатор пула через таблицу slot_leaders. Однако было бы очень удобно, если бы мы могли иметь идентификатор пула в таблице лидеров слотов, а не часть vkey. В настоящее время я конвертирую vkey в идентификатор пула следующим образом и сохраняю его в новом столбце в таблице лидеров слотов:

vkey = "5820"+p['hash'][2:]
h = hashlib.blake2b(digest_size=28)
h.update(binascii.unhexlify(p['hash'][2:]))
poolid = h.hexdigest()

Это позволяет мне довольно легко выполнять соединение и создавать блоки для каждого пула.

Все 4 Комментарий

Разве это не дублирует таблицу slot_leader?

Да, вы можете получить идентификатор пула через таблицу slot_leaders. Однако было бы очень удобно, если бы мы могли иметь идентификатор пула в таблице лидеров слотов, а не часть vkey. В настоящее время я конвертирую vkey в идентификатор пула следующим образом и сохраняю его в новом столбце в таблице лидеров слотов:

vkey = "5820"+p['hash'][2:]
h = hashlib.blake2b(digest_size=28)
h.update(binascii.unhexlify(p['hash'][2:]))
poolid = h.hexdigest()

Это позволяет мне довольно легко выполнять соединение и создавать блоки для каждого пула.

@disassembler Да, будет. Я обновил заголовок, чтобы расширить таблицу лидеров с ключом для легкого присоединения

@papacarp спасибо за добавление обходного пути. Надеюсь, вы сможете отказаться от этого, поскольку @erikd не рекомендует изменять схему таблиц, управляемых cardano-db-sync .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги