Cardano-db-sync: Tambahkan slot_leader.pool_hash_id yang dapat dibatalkan

Dibuat pada 19 Jul 2020  ·  4Komentar  ·  Sumber: input-output-hk/cardano-db-sync

Untuk mengaktifkan model Block.forgedBy -> StakePool dan StakePool.blocksForged -> [Block]
Lihat https://github.com/input-output-hk/cardano-ledger-specs/pull/1637

enhancement

Komentar yang paling membantu

Ya, Anda bisa mendapatkan pool id melalui tabel slot_leaders. Namun, akan sangat nyaman jika kita dapat memiliki id kumpulan di tabel pemimpin slot daripada bagian dari vkey. Saat ini saya mengonversi vkey ke id kumpulan sebagai berikut dan menyimpannya di kolom baru di tabel pemimpin slot:

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

Ini memungkinkan saya untuk bergabung dan membangun blok per kumpulan dengan cukup mudah.

Semua 4 komentar

Bukankah ini menduplikasi tabel slot_leader?

Ya, Anda bisa mendapatkan pool id melalui tabel slot_leaders. Namun, akan sangat nyaman jika kita dapat memiliki id kumpulan di tabel pemimpin slot daripada bagian dari vkey. Saat ini saya mengonversi vkey ke id kumpulan sebagai berikut dan menyimpannya di kolom baru di tabel pemimpin slot:

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

Ini memungkinkan saya untuk bergabung dan membangun blok per kumpulan dengan cukup mudah.

@disassembler Ya, itu akan. Saya telah memperbarui judul untuk memperluas tabel pemimpin dengan kunci untuk bergabung dengan mudah

@papacarp terima kasih telah menambahkan solusi Anda. Semoga Anda dapat melakukan refactor dari ini, karena memodifikasi skema tabel yang dikelola oleh cardano-db-sync disarankan untuk tidak dilakukan oleh @erikd

Apakah halaman ini membantu?
0 / 5 - 0 peringkat