Cardano-db-sync: nullable 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 ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. @erikd ๋Š” cardano-db-sync ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ์—์„œ ๋ฒ—์–ด๋‚˜ ๋ฆฌํŒฉํ† ๋งํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰