Cardano-db-sync: cardano-cli ๋ฐ db-sync๋Š” epoch 243๊ณผ ๋‹ค๋ฅธ ์ˆ˜์˜ ๋ณด์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2021๋…„ 01์›” 21์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: input-output-hk/cardano-db-sync

์ผ๋ถ€ ๋ณด์ƒ ์ฃผ์†Œ์— ๋Œ€ํ•œ 243 epoch๋ถ€ํ„ฐ cardano-cli ๋ฐ db-sync๋Š” ๋‹ค๋ฅธ ์ˆ˜์˜ ๋ณด์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Šคํ…Œ์ดํฌ1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0

์นด๋ฅด๋‹ค๋…ธ-ํด๋ฆฌ

$ cardano-cli query stake-address-info --cardano-mode --mainnet --allegra-era --address stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0
[
    {
        "address": "stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0",
        "delegation": "pool14ku0z9rx9yx34zl00jtxtpyv6ehytfl8fewztavx7qvju7nrtr8",
        "rewardAccountBalance": 13258955846
    }
]

๋ฐ DB ๋™๊ธฐํ™”

# SELECT SUM(reward.amount)
# FROM stake_address
# LEFT JOIN reward ON reward.addr_id = stake_address.id
# WHERE stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0';
     sum
-------------
 13222415370
(1 row)

์ฐจ์ด๋Š” 36.540476 โ‚ณ ์œผ๋กœ ํˆฌํ‘œ ๋ณด์ƒ ๊ธˆ์•ก๊ณผ ๊ฑฐ์˜ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฉ”์ธ๋„ท, cardano-cli 1.24.2, cardano-db-sync 7.1.0

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฌธ์ œ์˜ ์ผ๋ถ€๋Š” reward ํ…Œ์ด๋ธ”์ด ๋ชจ๋“  ๋ณด์ƒ์„ ํฌํ•จํ•  ๊ฒƒ์œผ๋กœ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ…Œ์ด๋ธ”์—๋Š” ์Šคํ…Œ์ดํ‚น ๋ณด์ƒ ๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

withdrawal ํ…Œ์ด๋ธ”์— ๋ณด์ƒ ๊ณ„์ •์˜ ๋ชจ๋“  ์ธ์ถœ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ด๊ฒƒ์€ ๋” ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

์ด ํˆฌํ‘œ ๋ณด์ƒ์€ ์ด์ œ 'treasury' ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# SELECT treasury.amount
# FROM stake_address
# LEFT JOIN treasury ON treasury.addr_id = stake_address.id
# WHERE stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0';
  amount
----------
 36540476
(1 row)

์ด ํˆฌํ‘œ ๋ณด์ƒ์€ ์ด์ œ 'treasury' ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

~์•—, ์‹ค์ˆ˜์ธ ๊ฒƒ ๊ฐ™๊ตฐ์š”.~ ์•„๋‹Œ ๊ฒƒ ๊ฐ™๊ตฐ์š”.

(์Šคํ‚ค๋งˆ ๋ฐ/๋˜๋Š” ๊ด€๋ จ ๋ฌธ์„œ์—์„œ) ์ž”์•ก ๋ณด์ƒ ๊ณ„์ •์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ด๋ฒคํŠธ ํ…Œ์ด๋ธ”์ด ๋‘ ๊ฐœ ์ด์ƒ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ๋“  ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์‹œ๋Œ€๋ณ„ ํ’€ ๋ณด์ƒ
  • ๊ณ„์ขŒ ์ธ์ถœ
  • ํŠน๋ณ„ํ•œ MIR ์ด๋ฒคํŠธ. ํŠน๋ณ„ MIR ์ด๋ฒคํŠธ๋Š” MIR ์ธ์ฆ์„œ์—์„œ ์ œ๊ณต๋˜์ง€๋งŒ ๋ธ”๋ก ๊ฒฝ๊ณ„๋ฅผ ์œ„ํ•ด ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ์ž”์•ก์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MIR ์ธ์ฆ์„œ๋Š” ITN์œผ๋กœ ์ธํ•œ ๋ณด์ƒ, ํ”„๋กœ์ ํŠธ ์ˆ˜์ฃผ์— ๋Œ€ํ•œ ์žฌ๋ฌด์  ์ง€๋ถˆ๊ธˆ, Catalyst ์ฐธ์—ฌ์— ๋Œ€ํ•œ ์žฌ๋ฌด์  ์ง€๋ถˆ๊ธˆ์„ ํฌํ•จํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋†’์€ ์ˆ˜์ค€์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋ชฉ์ ์€ ๋ฌผ๋ก  ์ฒด์ธ์— ๊ฒŒ์‹œ๋˜์ง€ ์•Š์Œ).

๋ฌธ์ œ์˜ ์ผ๋ถ€๋Š” reward ํ…Œ์ด๋ธ”์ด ๋ชจ๋“  ๋ณด์ƒ์„ ํฌํ•จํ•  ๊ฒƒ์œผ๋กœ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ…Œ์ด๋ธ”์—๋Š” ์Šคํ…Œ์ดํ‚น ๋ณด์ƒ ๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

withdrawal ํ…Œ์ด๋ธ”์— ๋ณด์ƒ ๊ณ„์ •์˜ ๋ชจ๋“  ์ธ์ถœ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ด๊ฒƒ์€ ๋” ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด๊ฐ€ ์ฐพ์„ ์ˆ˜์žˆ๋Š” ๊ฐ€์žฅ ๊น”๋”ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ € ๋ทฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

# create view reward_payment_view as
    select addr_id, amount, 'treasury' as source
    from treasury union select addr_id, amount, 'reward_epoch_' || epoch_no as source from reward ; 

์ด ๋ทฐ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# select stake_address.view, reward_payment_view.amount, reward_payment_view.source
    from reward_payment_view inner join stake_address on reward_payment_view.addr_id = stake_address.id
    where stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0' ; 
                            view                             |   amount   |      source      
-------------------------------------------------------------+------------+------------------
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |   36540476 | treasury
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  373554942 | reward_epoch_226
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  381550960 | reward_epoch_222
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  394285344 | reward_epoch_225
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  394335813 | reward_epoch_223
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  437204214 | reward_epoch_236
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  442787046 | reward_epoch_233
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  450575175 | reward_epoch_238
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  463125272 | reward_epoch_228
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  481675128 | reward_epoch_224
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  495852458 | reward_epoch_227
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  571559879 | reward_epoch_234
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  599359585 | reward_epoch_232
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  612352961 | reward_epoch_237
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  658610556 | reward_epoch_231
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1319746538 | reward_epoch_219
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1342842199 | reward_epoch_218
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1374758087 | reward_epoch_216
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 2428239213 | reward_epoch_220
(19 rows)

๊ทธ๊ฑฐ view ๋‚ด๊ฐ€ ๋ฏธ๋ฆฌ ์ •์˜ ๋ฐฐ์†ก ํ•  ๊ฒƒ์„ db-sync ?

@dmitrystas ์ง€๊ธˆ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

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