Cardano-db-sync: Adicionar slot_leader.pool_hash_id anulável

Criado em 19 jul. 2020  ·  4Comentários  ·  Fonte: input-output-hk/cardano-db-sync

Para habilitar um modelo de Block.forgedBy -> StakePool e StakePool.blocksForged -> [Block]
Veja https://github.com/input-output-hk/cardano-ledger-specs/pull/1637

enhancement

Comentários muito úteis

Sim, você pode obter o ID do pool através da tabela slot_leaders. No entanto, seria muito conveniente se pudéssemos ter o ID do pool na tabela líder do slot, em vez de parte do vkey. Atualmente, converto o vkey em um ID de pool da seguinte maneira e o armazeno em uma nova coluna na tabela líder de slot:

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

Isso me permite fazer uma junção e construir blocos por pool com bastante facilidade.

Todos 4 comentários

Isso não duplica a tabela slot_leader?

Sim, você pode obter o ID do pool através da tabela slot_leaders. No entanto, seria muito conveniente se pudéssemos ter o ID do pool na tabela líder do slot, em vez de parte do vkey. Atualmente, converto o vkey em um ID de pool da seguinte maneira e o armazeno em uma nova coluna na tabela líder de slot:

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

Isso me permite fazer uma junção e construir blocos por pool com bastante facilidade.

@disassembler Sim, seria. Atualizei o título para estender a tabela de líderes com uma chave para ingressar facilmente

@papacarp obrigado por adicionar sua solução alternativa. Espero que você possa refatorar longe disso, pois a modificação do esquema das tabelas gerenciadas por cardano-db-sync é desaconselhada por @erikd

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

erikd picture erikd  ·  10Comentários

erikd picture erikd  ·  4Comentários

wkoder picture wkoder  ·  4Comentários

johnalotoski picture johnalotoski  ·  15Comentários

dmitrystas picture dmitrystas  ·  28Comentários