๐Ÿ‡ฐ๐Ÿ‡ท ์นด๋ฅด๋‹ค๋…ธ ํƒ๊ตฌ: ์นด๋ฅด๋‹ค๋…ธ ์•„ํ‚คํ…์ฒ˜

์นด๋ฅด๋‹ค๋…ธ ์•„ํ‚คํ…์ฒ˜

์ด ์„น์…˜์—์„œ๋Š” ์นด๋ฅด๋‹ค๋…ธ์˜ ๊ณ ์ˆ˜์ค€ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ฉฐ, ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ทธ ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์นด๋ฅด๋‹ค๋…ธ์˜ ๊ณ ์ˆ˜์ค€ ์•„ํ‚คํ…์ฒ˜

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์นด๋ฅด๋‹ค๋…ธ์˜ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ

์นด๋ฅด๋‹ค๋…ธ์˜ ํ˜„์žฌ ๊ตฌํ˜„์€ ๊ณ ๋„๋กœ ๋ชจ๋“ˆํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(๋ฐฐํฌ ์‚ฌ๋ก€๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค):

๋…ธ๋“œ์™€ ์›๊ฒฉ ๋…ธ๋“œ

๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์€ ๋„คํŠธ์›Œํฌ์— ๋ถ„์‚ฐ๋œ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋…ธ๋“œ๋“ค์€ ์‹œ์Šคํ…œ ์ƒํƒœ์— ๋Œ€ํ•œ ํ•ฉ์˜๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋กœ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ๋Š” ๋‹ค์Œ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค:

  • ์šฐ๋กœ๋ณด๋กœ์Šค(Ouroboros) ํ”„๋กœํ† ์ฝœ ์‹คํ–‰
  • ๋ธ”๋ก ๊ฒ€์ฆ ๋ฐ ์ „๋‹ฌ
  • ๋ธ”๋ก ์ƒ์„ฑ(์ผ๋ถ€ ๋…ธ๋“œ)
  • ๋‹ค๋ฅธ ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ ์ •๋ณด ์ œ๊ณต

์ž์‹  ๋˜๋Š” ์ž์‹ ์ด ์†ํ•œ ์กฐ์ง์ด ์šด์˜ํ•˜๋Š” ๋…ธ๋“œ๋งŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋‹ค์ด๋‹ฌ๋กœ์Šค(Daedalus)๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋…ธ๋“œ ํ”„๋กœ์„ธ์Šค

cardano-node๋Š” ๋…ธ๋“œ์˜ ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์ด๋ฉฐ ๋‹ค๋ฅธ ํ•˜์œ„ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ•ฉ์˜, ์›์žฅ ๊ทธ๋ฆฌ๊ณ  ๋ณด์กฐ ๊ตฌ์„ฑ, CLI, ๋กœ๊น… ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํฌํ•จ๋œ ๋„คํŠธ์›Œํ‚น์ž…๋‹ˆ๋‹ค.

๋…ธ๋“œ-๋…ธ๋“œ IPC ํ”„๋กœํ† ์ฝœ

๋…ธ๋“œ-๋…ธ๋“œ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC) ํ”„๋กœํ† ์ฝœ์˜ ๋ชฉ์ ์€, ์šฐ๋กœ๋ณด๋กœ์Šค ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ผ๋ถ€๋กœ, ๋…ธ๋“œ ๊ฐ„ ๋ธ”๋ก๊ณผ ํŠธ๋žœ์žญ์…˜์„ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋…ธ๋“œ-๋…ธ๋“œ ํ”„๋กœํ† ์ฝœ(node-to-node protocol)์€ ์„ธ ๊ฐ€์ง€ '๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœโ€™๋กœ ๊ตฌ์„ฑ๋œ ๋ณตํ•ฉ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค:

  • chain-sync: ์ฒด์ธ์„ ์ถ”์ ํ•˜๊ณ  ๋ธ”๋ก ํ—ค๋”๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • block-fetch: ๋ธ”๋ก ๋ฐ”๋””๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • tx-submission: ํŠธ๋žœ์žญ์…˜ ์ „๋‹ฌ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ์€ ๋…ธ๋“œ ๊ฐ„ ์žฅ๊ธฐ๊ฐ„ ์‹คํ–‰๋˜๋Š” ๋‹จ์ผ ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ(TCP) ์—ฐ๊ฒฐ์— ๋‹ค์ค‘ํ™”๋ฉ๋‹ˆ๋‹ค. P2P(ํ”ผ์–ด ํˆฌ ํ”ผ์–ด) ํ™˜๊ฒฝ์„ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ TCP ์—ฐ๊ฒฐ์—์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ์€ ์–‘์ชฝ ๋ชจ๋‘ ์„œ๋น„์Šค ๊ฑฐ๋ถ€(DoS) ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ด์•ผ ํ•˜๋Š” ๋ฌด์‹ ๋ขฐ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ์€ ์†Œ๋น„์ž ์ค‘์‹ฌ ์ œ์–ด ํ๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋…ธ๋“œ๋Š” ์ž‘์—…์„ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ค€๋น„๊ฐ€ ๋˜์—ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ๋” ๋งŽ์€ ์ž‘์—…์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„๋Š” ๋ชจ๋“ˆ์‹์ด๋ฉฐ ์ง„ํ™” ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ ํ˜‘์ƒ์„ ํ†ตํ•ด ์‚ฌ์šฉํ•  ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ ์„ธํŠธ์— ํ•ฉ์˜ํ•จ์œผ๋กœ์จ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š๊ณ  ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ ๊ฐ„ IPC

๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ IPC ํ”„๋กœํ† ์ฝœ์˜ ๋ชฉ์ ์€ ๋กœ์ปฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๋ธ”๋ก์ฒด์ธ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ง€๊ฐ‘ ๋ฐฑ์—”๋“œ๋‚˜ ๋ธ”๋ก์ฒด์ธ ํƒ์ƒ‰๊ธฐ์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์›์‹œ ์ฒด์ธ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๊ณ  ํ˜„์žฌ ์›์žฅ ์ƒํƒœ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹œ์Šคํ…œ์— ์ƒˆ๋กœ์šด ํŠธ๋žœ์žญ์…˜์„ ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ ํ”„๋กœํ† ์ฝœ์€ ๋…ธ๋“œ-๋…ธ๋“œ ํ”„๋กœํ† ์ฝœ๊ณผ ๋™์ผํ•œ ์„ค๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ ์„ธํŠธ๊ฐ€ ๋‹ค๋ฅด๋ฉฐ, TCP ์—ฐ๊ฒฐ์ด ์•„๋‹Œ ๋กœ์ปฌ ํŒŒ์ดํ”„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋…ธ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋งŒ ๋…ธ์ถœํ•˜๋Š” ๋น„๊ต์  ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์ œํ•œ๋œ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋…ธ๋“œ๋Š” ๋ชจ๋“  ์›์‹œ ์ฒด์ธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ฒด์ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค ๋ฐ ๋ณด๋‹ค ํŽธ๋ฆฌํ•œ ์ƒ์œ„ ์ˆ˜์ค€ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž‘์—…์€ cardano-db-sync ๋ฐ ์ง€๊ฐ‘ ๋ฐฑ์—”๋“œ์™€ ๊ฐ™์€ ์ „์šฉ ํด๋ผ์ด์–ธํŠธ์— ์œ„์ž„๋ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ ํ”„๋กœํ† ์ฝœ์€ ์„ธ ๊ฐ€์ง€ ๋ฏธ๋‹ˆ ํ”„๋กœํ† ์ฝœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

  • chain-sync: ์ฒด์ธ์„ ์ถ”์ ํ•˜๊ณ  ๋ธ”๋ก์„ ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉ
  • local-tx-submission: ํŠธ๋žœ์žญ์…˜ ์ œ์ถœ์— ์‚ฌ์šฉ
  • local-state-query: ์›์žฅ ์ƒํƒœ ์ฟผ๋ฆฌ์— ์‚ฌ์šฉ

๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ ๊ฐ„ ์ฒด์ธ ๋™๊ธฐํ™” ๋ฒ„์ „์€ ๋ธ”๋ก ํ—ค๋”๊ฐ€ ์•„๋‹Œ ์ „์ฒด ๋ธ”๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋ธ”๋ก ๊ฐ€์ ธ์˜ค๊ธฐ ํ”„๋กœํ† ์ฝœ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. local-tx-submission ํ”„๋กœํ† ์ฝœ์€ ๋…ธ๋“œ ๊ฐ„ ํŠธ๋žœ์žญ์…˜ ์ œ์ถœ ํ”„๋กœํ† ์ฝœ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋” ๊ฐ„๋‹จํ•˜๋ฉฐ, ํŠธ๋žœ์žญ์…˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์‹คํŒจ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. local-state-query ํ”„๋กœํ† ์ฝœ์€ ํ˜„์žฌ ์›์žฅ ์ƒํƒœ์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ์ฒด์ธ ์ž์ฒด์— ์ง์ ‘ ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํ‚น ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„์™€ ์นด๋ฅด๋‹ค๋…ธ ๋…ธ๋“œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

์ปค๋งจ๋“œ ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค(CLI)

๋…ธ๋“œ์˜ CLI ๋„๊ตฌ๋Š” ์‹œ์Šคํ…œ์—์„œ "์Šค์œ„์Šค ์•„๋ฏธ ๋‚˜์ดํ”„"์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์ด๊ณ  ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(GUI)๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ €์ˆ˜์ค€์ด๋ฉฐ ๊ทธ๋‹ค์ง€ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CLI ๋„๊ตฌ๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๋…ธ๋“œ์— ์ •๋ณด ์ฟผ๋ฆฌ
  • ํŠธ๋žœ์žญ์…˜ ์ œ์ถœ
  • ํŠธ๋žœ์žญ์…˜ ๊ตฌ์„ฑ ๋ฐ ์„œ๋ช…
  • ์•”ํ˜ธํ™” ํ‚ค ๊ด€๋ฆฌ

๋‹ค์ด๋‹ฌ๋กœ์Šค ์ง€๊ฐ‘

๋‹ค์ด๋‹ฌ๋กœ์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—์ด๋‹ค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํ’€ ๋…ธ๋“œ ์ง€๊ฐ‘์œผ๋กœ, ์นด๋ฅด๋‹ค๋…ธ ๋ธ”๋ก์ฒด์ธ์—์„œ ์ง€๋ถˆ์„ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ด๋‹ฌ๋กœ์Šค๋Š” ์ง€๊ฐ‘ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ์‚ฌ์šฉ์ž ์ง€๊ฐ‘์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ฝ”์ธ ์„ ํƒ, ํŠธ๋žœ์žญ์…˜ ๊ตฌ์„ฑ ๋ฐ ์ œ์ถœ๊ณผ ๊ฐ™์€ ๋ชจ๋“  '๋ฌด๊ฑฐ์šด ์ž‘์—…โ€™์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ๋…ธ๋“œ-ํด๋ผ์ด์–ธํŠธ IPC ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋กœ์ปฌ ๋…ธ๋“œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  HTTP API๋ฅผ ํ†ตํ•ด ํ”„๋ก ํŠธ์—”๋“œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ์ง€๊ฐ‘๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” CLI๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ฐ‘ ๋ฐฑ์—”๋“œ๋Š” API๋ฅผ ํ†ตํ•ด ๋‹ค์ด๋‹ฌ๋กœ์Šค ์—†์ด๋„ ์ž์ฒด์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์นด๋ฅด๋‹ค๋…ธ๋ฅผ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์‹œ์Šคํ…œ๊ณผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์นด๋ฅด๋‹ค๋…ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๋Š” ๋‹ค์ด๋‹ฌ๋กœ์Šค์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

cardano-db-sync

์นด๋ฅด๋‹ค๋…ธ ๋…ธ๋“œ๋Š” ๋ธ”๋ก์ฒด์ธ ์ž์ฒด์™€ ๋ธ”๋ก์ฒด์ธ ๊ฒ€์ฆ์— ํ•„์š”ํ•œ ๊ด€๋ จ ์ •๋ณด๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค๊ณ„ ์›์น™์€ ์ฝ”๋“œ ๋ณต์žก์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๊ณ„์‚ฐ ๋น„์šฉ๊ณผ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ์ค„์—ฌ ๋…ธ๋“œ์˜ ๋กœ์ปฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ์ตœ์†Œํ•œ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ  ์™ธ๋ถ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋…ธ๋“œ์—์„œ๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ๊ธฐ๋ก ์ •๋ณด์™€ ๊ด€๋ จ๋œ ์ฟผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค๋Š” ๊ตฌ์กฐํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด(SQL) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ณ„๋„์˜ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋” ์ž์„ธํžˆ ์ฝ์–ด๋ณด์„ธ์š”:


* Source: https://docs.cardano.org/explore-cardano/cardano-architecture/
* Translation: Ilhun@CryptoVeri :twitter: enics_sky@naver.com