Cardano-db-sync: insertTxIn์—์„œ DB ์กฐํšŒ ์‹คํŒจ: tx ํ•ด์‹œ(erikd/shelley-32byte-address-hash)

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

[db-sync- node:Info :26] [2020-06-06 07:26:00.07 UTC] Cardano.Db ํŒ์€ ์Šฌ๋กฏ 7790, ๋ธ”๋ก 410์— ์žˆ์Šต๋‹ˆ๋‹ค.
[db-sync- node:Info :31] [2020-06-06 07:26:00.07 UTC] DB ์“ฐ๋ ˆ๋“œ ์‹คํ–‰ ์ค‘
[db-sync- node:Info :31] [2020-06-06 07:26:00.25 UTC] Shelley: ๋กค๋ฐฑ ํ•„์š” ์—†์Œ: db ํŒ ์Šฌ๋กฏ์€ 7790 ์›์žฅ ํŒ ์Šฌ๋กฏ์€ 7790
[db-sync- ๋…ธ๋“œ:์˜ค๋ฅ˜ :31] [2020-06-06 07:26:01.02 UTC] insertTxIn์—์„œ DB ์กฐํšŒ ์‹คํŒจ: tx ํ•ด์‹œ 75c62cb4a2bbc63ccff6b518de7f18beef9eb1898829822f421
[db-sync- node:Info :31] [2020-06-06 07:26:01.02 UTC] DB ์“ฐ๋ ˆ๋“œ ์ข…๋ฃŒ

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

์ตœ์ „์„ ์— ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์ด ๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ? ํ˜„์žฌ F&F์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” WIP ๋ถ„๊ธฐ๊ฐ€ ์žˆ์ง€๋งŒ ์™„์ „ํžˆ ์›์‹œ์ ์ด๋ฉฐ ์ œ๋Œ€๋กœ ํ…Œ์ŠคํŠธ๋˜์ง€๋„ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋Š” ์˜คํ›„ 9์‹œ. ๋ถ„๊ธฐ๋Š” erikd/shelley-32byte-address-hash ์ž…๋‹ˆ๋‹ค. ๋ถ€์ˆ˜๋ฉด ๋‘ ์กฐ๊ฐ์„ ๋ชจ๋‘ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

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

์–ด๋–ค ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์•„๋Š” ์œ ์ผํ•œ ๊ฒƒ์€ @disassembler ์˜ shelley_qa ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ shelley_qa์ž…๋‹ˆ๋‹ค

๋‚ด์ผ ๋ด์•ผ๊ฒ ๋‹ค.

๊ดœ์ฐฎ ๊ฐ์‚ฌ. Pls๋„ ์ด๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

[db-sync- node:Info :32] [2020-06-06 07:43:26.86 UTC] Shelley: ๋กค๋ฐฑ ํ•„์š” ์—†์Œ: db ํŒ ์Šฌ๋กฏ์€ 27908 ์›์žฅ ํŒ ์Šฌ๋กฏ์€ 27908
[db-sync- node:Info :32] [2020-06-06 07:43:27.15 UTC] epochPluginInsertBlock: epoch 21์— ๋Œ€ํ•œ epoch ํ…Œ์ด๋ธ”์— ํ–‰ ์‚ฝ์ž…
[db-sync- ๋…ธ๋“œ:์˜ค๋ฅ˜ :32] [2020-06-06 07:43:27.16 UTC] updateEpochNum.insertEpoch: epoch ๋ฒˆํ˜ธ 21์—์„œ DB ์กฐํšŒ ์‹คํŒจ
...
[db-sync- node:Error :78] [2020-06-06 07:42:37.72 UTC] updateEpochNum.insertEpoch: epoch ๋ฒˆํ˜ธ 22์—์„œ DB ์กฐํšŒ ์‹คํŒจ

[db-sync- node:Info :283] [2020-06-06 08:00:52.38 UTC] chainSyncClient ์‹œ์ž‘ ์ค‘
[db-sync- node:Info :283] [2020-06-06 08:00:52.45 UTC] Cardano.Db ํŒ์€ ์Šฌ๋กฏ 47627, ๋ธ”๋ก 2180์— ์žˆ์Šต๋‹ˆ๋‹ค.
[db-sync- node:Info :288] [2020-06-06 08:00:52.45 UTC] DB ์“ฐ๋ ˆ๋“œ ์‹คํ–‰ ์ค‘
[db-sync- node:Info :288] [2020-06-06 08:00:52.61 UTC] Shelley: ๋กค๋ฐฑ ํ•„์š” ์—†์Œ: db ํŒ ์Šฌ๋กฏ์€ 47627 ์›์žฅ ํŒ ์Šฌ๋กฏ์€ 47627
[db-sync- node:Error :288] [2020-06-06 08:00:53.11 UTC] insertTxIn์—์„œ DB ์กฐํšŒ ์‹คํŒจ: tx ํ•ด์‹œ 54481fa557bd1872a2ce35271e3641cd619da2e31dd7280fed7
[db-sync- node:Info :288] [2020-06-06 08:00:53.11 UTC] DB ์“ฐ๋ ˆ๋“œ ์ข…๋ฃŒ
[db-sync- ๋…ธ๋“œ:์˜ค๋ฅ˜ :291] [2020-06-06 08:00:53.11 UTC] recvMsgRollForward: AsyncCancelled

  • ๋˜ ๋‹ค๋ฅธ ์‹œ์ž‘

[db-sync- node:Info :104] [2020-06-06 08:01:49.52 UTC] Cardano.Db ํŒ์€ ์Šฌ๋กฏ 47874, ๋ธ”๋ก 2193์— ์žˆ์Šต๋‹ˆ๋‹ค.
[db-sync- node:Info :109] [2020-06-06 08:01:49.52 UTC] DB ์“ฐ๋ ˆ๋“œ ์‹คํ–‰ ์ค‘
[db-sync- node:Info :109] [2020-06-06 08:01:49.78 UTC] Shelley: ๋กค๋ฐฑ ํ•„์š” ์—†์Œ: db ํŒ ์Šฌ๋กฏ์€ 47874 ์›์žฅ ํŒ ์Šฌ๋กฏ์€ 47874
[db-sync- node:์˜ค๋ฅ˜ :109] [2020-06-06 08:01:50.26 UTC] insertTxIn์—์„œ DB ์กฐํšŒ ์‹คํŒจ: tx ํ•ด์‹œ 78b4e35754058760705ea08c1234291e4c891e743572
[db-sync- node:Info :109] [2020-06-06 08:01:50.26 UTC] DB ์“ฐ๋ ˆ๋“œ ์ข…๋ฃŒ
[db-sync- ๋…ธ๋“œ:์˜ค๋ฅ˜ :112] [2020-06-06 08:01:50.29 UTC] recvMsgRollForward: AsyncCancelled

FF์—์„œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Connection to localhost 5432 port [tcp/postgresql] succeeded!
Started cardano-db-sync.service.
[db-sync-node:Info:4] [2020-06-06 11:25:32.78 UTC] NetworkMagic: RequiresMagic 42
[db-sync-node:Info:4] [2020-06-06 11:25:32.80 UTC] Initial genesis distribution populated. Hash 20472065206e2065207320692073202d20482061207320682020202020202020
[db-sync-node:Info:4] [2020-06-06 11:25:32.80 UTC] Total genesis supply of Ada: 11000000000.000000
[db-sync-node:Info:4] [2020-06-06 11:25:32.80 UTC] epochPluginOnStartup: Checking
[db-sync-node:Info:4] [2020-06-06 11:25:32.81 UTC] localInitiatorNetworkApplication: connecting to node via "/run/cardano-node/node.socket"
[db-sync-node.Handshake:Info:20] [2020-06-06 11:25:32.81 UTC] [String "Send MsgProposeVersions (fromList [(NodeToClientV_2,TInt 42)])",String "LocalHandshakeTrace",String "ConnectionId {localAddress = LocalAddress {getFilePath = \"\"}, r>
[db-sync-node.Handshake:Info:20] [2020-06-06 11:25:32.81 UTC] [String "Recv MsgAcceptVersion NodeToClientV_2 (TInt 42)",String "LocalHandshakeTrace",String "ConnectionId {localAddress = LocalAddress {getFilePath = \"\"}, remoteAddress = >
[db-sync-node:Info:25] [2020-06-06 11:25:32.81 UTC] Starting chainSyncClient
[db-sync-node:Info:25] [2020-06-06 11:25:32.83 UTC] Cardano.Db tip is at empty (genesis)
[db-sync-node:Info:29] [2020-06-06 11:25:32.83 UTC] Running DB thread
[db-sync-node:Info:29] [2020-06-06 11:25:33.20 UTC] insertShelleyBlock: slot 0, block 0, hash 48b458d41a00acad75b02658e2de3cd4e87f7b3804aaab56aa9d418ce44c2cb7
[db-sync-node:Info:29] [2020-06-06 11:25:33.92 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 0
[db-sync-node:Info:29] [2020-06-06 11:25:34.03 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 1
[db-sync-node:Info:29] [2020-06-06 11:25:34.11 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 2
[db-sync-node:Info:29] [2020-06-06 11:25:34.19 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 3
[db-sync-node:Info:29] [2020-06-06 11:25:34.28 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 4
[db-sync-node:Info:29] [2020-06-06 11:25:34.36 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 5
[db-sync-node:Info:29] [2020-06-06 11:25:34.44 UTC] epochPluginInsertBlock: Inserting row in epoch table for epoch 6
[db-sync-node:Error:29] [2020-06-06 11:25:34.46 UTC] DB lookup fail in insertTxIn: tx hash 46dc1395de27ce13f943d509ce701b61d25a6828bb169b72521d47cf41fc591a
[db-sync-node:Info:29] [2020-06-06 11:25:34.46 UTC] Shutting down DB thread
[db-sync-node:Error:32] [2020-06-06 11:25:34.46 UTC] recvMsgRollForward: AsyncCancelled

ํ˜„์ง€์—์„œ ์žฌํ˜„.

์ „์ฒด ์ž‘์—…์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ชฉ์š”์ผ์— ์ด๊ฒƒ์„ ์ž‘๋™์‹œ์ผฐ๊ณ  ์ตœ์†Œํ•œ์˜ ํ…Œ์ŠคํŠธ๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์ • ์˜ค๋ฅ˜๋Š” ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์—์„œ ๋ณ€๊ฒฝ๋˜๋Š” ๊ธฐ์› ๋ถ„ํฌ์˜ ์ฃผ์†Œ ํ‘œํ˜„์œผ๋กœ ์ธํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ฐœ์ƒํ•  ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ตœ์†Œ 1๊ฐœ ์ด์ƒ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์กฐ์‚ฌํ•˜๋Š” ๋ฐ ์ง€๋‚œ 2์‹œ๊ฐ„ ์ด์ƒ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. DB lookup fail in insertTxIn ๋Š” ์˜จ์ฒด์ธ ํŠธ๋žœ์žญ์…˜์—์„œ ์ฐธ์กฐ๋˜๋Š” UTxO ์ถœ๋ ฅ์„ ์ฐพ์ง€ ๋ชปํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•ฉ์˜ ๋ ˆ์ด์–ด์™€ db-sync ๋ชจ๋‘ Shelley ์ƒ์„ฑ์„ ๊ฐ€์ ธ์™€ ์ดˆ๊ธฐ UTxO ์„ธํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. thjs ์ฝ”๋“œ์˜ ๋‘ ๊ตฌํ˜„์ด ์ž‘๋™์ ์œผ๋กœ ๋™์ผํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ Shelley Genesis๋ฅผ UTxO ์„ธํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” 1๋น„ํŠธ์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด๋ฉฐ ํ•ด๋‹น ์ฝ”๋“œ๋Š” cardano-ledger-specs ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ShelleyGenesis ๊ด€๋ จ ํ•ญ๋ชฉ์„ cardano-ledger-specs ๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€ ๋‹ค์†Œ ๋ณต์žกํ•œ ๋ฌธ์ œ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜ค๋Š˜์ด๋‚˜ ๋‚ด์ผ๋„ ํ•ด๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ETA ์‚ฌ๋žŒ? @eikd @rhyslbw thx

์ตœ์ „์„ ์— ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์ด ๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ? ํ˜„์žฌ F&F์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” WIP ๋ถ„๊ธฐ๊ฐ€ ์žˆ์ง€๋งŒ ์™„์ „ํžˆ ์›์‹œ์ ์ด๋ฉฐ ์ œ๋Œ€๋กœ ํ…Œ์ŠคํŠธ๋˜์ง€๋„ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋Š” ์˜คํ›„ 9์‹œ. ๋ถ„๊ธฐ๋Š” erikd/shelley-32byte-address-hash ์ž…๋‹ˆ๋‹ค. ๋ถ€์ˆ˜๋ฉด ๋‘ ์กฐ๊ฐ์„ ๋ชจ๋‘ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ํ™•์ธ > ์ž‘๋™ > ๋‹ซ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์ด ์•„์ง ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ์‡„.

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