Cardano-db-sync: null許容のslot_leader.pool_hash_idを追加します

作成日 2020年07月19日  ·  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テーブルからプールIDを取得できます。 ただし、vkeyの一部ではなく、スロットリーダーテーブルにプールIDを含めることができれば非常に便利です。 現在、次のようにvkeyをプールIDに変換し、スロットリーダーテーブルの新しい列に保存しています。

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テーブルからプールIDを取得できます。 ただし、vkeyの一部ではなく、スロットリーダーテーブルにプールIDを含めることができれば非常に便利です。 現在、次のようにvkeyをプールIDに変換し、スロットリーダーテーブルの新しい列に保存しています。

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

これにより、結合を実行し、プールごとにブロックをかなり簡単に構築できます。

@disassemblerはい、そうです。 タイトルを更新して、簡単に参加できるキーでリーダーテーブルを拡張しました

@papacarp回避策を追加していただきありがとうございます。 cardano-db-syncによって管理されるテーブルのスキーマを変更することは、 @ erikdによって推奨されているため、これからリファクタリングできることを願っています。

このページは役に立ちましたか?
0 / 5 - 0 評価