๐ŸงฑEthereum

์ž…๋ฌธ

12 minute read

์ด๋”๋ฆฌ์›€์ด๋ž€?

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

์ง€๋ถˆ(Payment), ๊ทธ ์ด์ƒ์„ ํ–ฅํ•ด

๋น„ํŠธ์ฝ”์ธ ๋ธ”๋ก์ฒด์ธ์€ ์ฃผ๋กœ ์€ํ–‰๊ณผ ๊ฐ™์€ ์ค‘์•™ ๊ธฐ๊ด€์˜ ์ค‘์žฌ ์—†์ด ๋ธ”๋ก์ฒด์ธ์˜ ๋‹ค์–‘ํ•œ ๋‹น์‚ฌ์ž ๊ฐ„์— ๋ˆ์„ ์†ก๊ธˆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋น„ํƒˆ๋ฆญ ๋ถ€ํ…Œ๋ฆฐ(Vitalik Buterin)์ด๋ผ๋Š” ์ด๋ฆ„์˜ 19์„ธ ์ฒญ๋…„ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ํƒˆ์ค‘์•™ํ™”์˜ ๊ฐœ๋…์„ ์†ก๊ธˆ ์™ธ์— ๋‹ค๋ฅธ ๋ถ„์•ผ์— ์ ์šฉํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ค‘์•™ํ™”๋œ ํ†ต์ œ ๊ถŒํ•œ ์—†์ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์šด์˜๋  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŽ˜์ด์Šค๋ถ์˜ ๊ฒฝ์šฐ ํŽ˜์ด์Šค๋ถ ์ฃผ์‹ํšŒ์‚ฌ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์›ํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒ๋ฆฌ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. 10๋…„ ๋’ค ํŽ˜์ด์Šค๋ถ์ด ํ์‡„๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„ํƒˆ๋ฆญ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋น„ํŠธ์ฝ”์ธ์— ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•˜์ง€๋งŒ ๋น„ํŠธ์ฝ”์ธ ๊ฐœ๋ฐœํŒ€๊ณผ์˜ ํ•ฉ์˜์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๊ทธ๋Š” 2014๋…„ 1์›”์— ์ผ๋ฐ˜์ ์ธ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๋ฐฑ์„œ ๋ฅผ ์ถœ๊ฐ„ํ•ฉ๋‹ˆ๋‹ค. ๊ณง์ด์–ด ๊ฐœ๋ฐœํŒ€์ด ๊พธ๋ ค์ง€๊ณ , ๊ฐœ๋นˆ ์šฐ๋“œ(Gavin Wood) ๋ฐ•์‚ฌ์˜ ํŒ€์ด ์ด๋”๋ฆฌ์›€ ํ™ฉ์„œ ์—์„œ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹คํ–‰ํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ธ EVM(EVerenum Virtual Machine)์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค(EVM ๋ฐ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ์ ˆ์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค). ์ด ํ”Œ๋žซํผ์˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ž๊ธˆ์˜ ํฌ๋ผ์šฐ๋“œํŽ€๋”ฉ์€ 2014๋…„ 7์›”๋ถ€ํ„ฐ 8์›”์— ๊ฑฐ์ณ ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ, ํŽ€๋”ฉ ์ฐธ๊ฐ€์ž๋Š” ๋น„ํŠธ์ฝ”์ธ์œผ๋กœ ์ด๋”๋ฆฌ์›€ ๋ฐธ๋ฅ˜ ํ† ํฐ(์ด๋”)์„ ๊ตฌ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ธ๊ณ„์˜ ์ปดํ“จํ„ฐ

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

์›น์•ฑ ์•„ํ‚คํ…์ฒ˜

์ด๋”๋ฆฌ์›€์„ ์ดํ•ดํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ๊ธฐ์กด์˜ ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜์™€ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์˜ค๋ฅธ์ชฝ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค(์›น ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ชฐ๋ผ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค). ์ด๊ฒƒ์€ ๊ฐ„๋‹จํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฐ”, C#, ๋ฃจ๋น„, ํŒŒ์ด์ฌ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์„œ๋ฒ„ ๋‹จ ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ๋Š” HTML/CSS/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ AWS, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์• ์ ธ, ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ, Heroku ๋˜๋Š” VPS์™€ ๊ฐ™์€ ํ˜ธ์ŠคํŒ… ์ œ๊ณต ์—…์ฒด์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €, curl/wget(์ปค๋งจ๋“œ ๋ผ์ธ) ๋˜๋Š” API๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์ค‘์•™ํ™”๋œ ํ•˜๋‚˜์˜ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ์บ์‹œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฝ๊ณ , ์“ฐ๊ณ , ์—…๋ฐ์ดํŠธํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ ˆ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ์กด์˜ ๊ตฌ์กฐ์™€ ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์˜ ๊ตฌ์กฐ๋ฅผ ๋น„๊ตํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋”๋ผ์›€ ์•„ํ‚คํ…์ฒ˜

์œ„ ๊ทธ๋ฆผ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ž์ฒด ์ธ์Šคํ„ด์Šค์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐํ•  ์ค‘์•™ ์„œ๋ฒ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ด์ƒ์ ์ธ ํƒˆ์ค‘์•™ํ™” ์„ธ๊ณ„์—์„œ, Dapp(ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์€ ์ปดํ“จํ„ฐ/์Šค๋งˆํŠธ์ฝ˜ ๋“ฑ์˜ ๊ธฐ๊ธฐ์— ์‹คํ–‰์ค‘์ธ ๋ธ”๋ก์ฒด์ธ์˜ ์ „์ฒด ๋ณต์‚ฌ๋ณธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ์ „์ฒด ๋ธ”๋ก์ฒด์ธ์„ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ๋Š” ์„ธ๊ณ„๋Š” ์ด์ƒ์ ์ธ ์„ธ๊ณ„๊ฐ€ ์•„๋‹ˆ๊ธฐ์—, ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด ์ด๋Ÿฌํ•œ ์•ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ธ”๋ก์ฒด์ธ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํƒˆ์ค‘์•™ํ™”์˜ ๋ฐฐ๊ฒฝ์€ ๋‹จ์ผ/์ค‘์•™ํ™”๋œ ์„œ๋ฒ„์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ œ์•ˆ๋œ ๋ช‡ ๊ฐ€์ง€ ์†”๋ฃจ์…˜( ๋ธ”๋ก์ฒด์ธ ์„œ๋ฒ„ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค , Metamask ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋“œ ๋””์Šคํฌ์™€ RAM์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋ธ”๋ก์ฒด์ธ์˜ ์ „์ฒด ๋ณต์‚ฌ๋ณธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด์„œ๋„ ํƒˆ์ค‘์•™ํ™”๋ฅผ ํ›ผ์†ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ์˜ ์ด์–ด์ง€๋Š” ๋ ˆ์Šจ์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ๊ฒฝํ—˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž, ๊ทธ๋Ÿผ ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ผ๊นŒ์š”? ๋ธ”๋ก์ฒด์ธ์—๋Š” 2๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์€ ๋ธ”๋ก์ฒด์ธ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐํฌํ•˜๋Š” ํ–‰์œ„๋„ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ํ›„๋ณด์ž ํˆฌํ‘œ๋ฅผ ์œ„ํ•œ ํˆฌํ‘œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์˜ˆ๋กœ ๋“ค๋ฉด ํ•˜๋‚˜ํ•˜๋‚˜์˜ ํˆฌํ‘œ๊ฐ€ ํŠธ๋žœ์žญ์…˜๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์€ ๊ณต๊ฐœ๋˜๋ฉฐ ๋ˆ„๊ตฌ๋‚˜ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋Š” ์ ˆ๋Œ€๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ธฐ๋ก๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋”๋ฆฌ์›€์€ ์ž‘์—…์ฆ๋ช…(Proof of Work)์ด๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. (http://ethereum.stackexchange.com/questions/14/what-proof-of-work-function-does-ethereum-use)

์ฝ”๋“œ

๋ธ”๋ก์ฒด์ธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์š”์†Œ๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํˆฌํ‘œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํˆฌํ‘œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋…ผ๋ฆฌ๋Š” ์–ด๋””์— ๋‹ด๊ธธ๊นŒ์š”? ์ด๋”๋ฆฌ์›€ ์„ธ๊ณ„์—์„œ๋Š” ์†”๋ฆฌ๋””ํ‹ฐ(Solidity)๋ผ๋Š” ์–ธ์–ด๋กœ ๋…ผ๋ฆฌ/์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ(์Šค๋งˆํŠธ ๊ณ„์•ฝ)๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์†”๋ฆฌ๋””ํ‹ฐ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋”๋ฆฌ์›€ ๋ฐ”์ดํŠธ์ฝ”๋“œ(Ethereum Byte Code)๋กœ ์ปดํŒŒ์ผํ•œ ๋‹ค์Œ ํ•ด๋‹น ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ๋ธ”๋ก์ฒด์ธ์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค (์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ž‘์„ฑ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๊ฐ€ ์กฐ๊ธˆ ์žˆ๊ธด ํ•˜์ง€๋งŒ, ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๊ณ  ์ƒ๋Œ€์ ์œผ๋กœ ์‰ฌ์šด ๊ฒƒ์ด ์†”๋ฆฌ๋””ํ‹ฐ). ๋”ฐ๋ผ์„œ, ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์€ ํŠธ๋žœ์žญ์…˜์„ ์ €์žฅํ•  ๋ฟ ์•„๋‹ˆ๋ผ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ธ”๋ก์ฒด์ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ EVM (Ethereum Virtual Machine)์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์ด์–ด์ง€๋Š” ์ ˆ์—์„œ ๋ฐ”์ดํŠธ์ฝ”๋“œ ๋ฐ EVM์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋ฐฐ์šธ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€์—๋Š” ์›น ๊ธฐ๋ฐ˜ Dapp์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด web3.js๋ผ๋Š” ํŽธ๋ฆฌํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ react.js, angular.js ๋“ฑ์˜ ์œ ๋ช…ํ•œ js ํ”„๋ ˆ์ž„์›Œํฌ์— ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ ์ด๋”๋ฆฌ์›€ ๊ด€๋ จ ๊ฐœ๋…๋“ค

์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ(Smart Contracts)

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

  • ์˜ˆ์‹œ
    Crowdsale ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ œํ’ˆ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด 10,000๋‹ฌ๋Ÿฌ๋ฅผ ๋ชจ์œผ๊ณ ์ž ํ•˜๋Š” ์ œ์ž‘์ž๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด ์ œํ’ˆ์— ๊ด€์‹ฌ์ด ์žˆ๊ณ  ์„ ๋ถˆ๋กœ ๊ธฐ๊บผ์ด ์ง€๋ถˆํ•  ์ž ์žฌ ๊ณ ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์•ฝ์ƒ ๊ฐ ๊ณ ๊ฐ์ด ๋ณด๋‚ด๋Š” ์•ก์ˆ˜๊ฐ€ $10 - $10,000 ์‚ฌ์ด์— ํ•ด๋‹นํ•˜๋ฉด ์ˆ˜๋ นํ•  ๊ฒƒ์ด๊ณ , ๋ชฉํ‘œ๊ฐ€ ๋‹ฌ์„ฑ๋œ๋‹ค๋ฉด ๊ทธ ๋ˆ์€ ์ œ์ž‘์ž์—๊ฒŒ ์†ก๊ธˆ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๊ธฐ๋ถ€์ž์—๊ฒŒ ๋ˆ์ด ๋Œ๋ ค ๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์ž‘์ž์™€ ์ง€์ง€์ž ๊ฐ„์˜ ๊ณ„์•ฝ์„ ์‹œํ–‰ํ•˜๋Š” ์ด์ƒ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ์ค‘์•™ํ™”๋œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ์ด ๋…ผ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์—์„œ ์ด๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ์˜ ์žฅ์ ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  1. ๋ชจ๋“  ์ฐธ์—ฌ์ž๊ฐ€ ๋ณด๋‚ธ ๋ˆ์ด ์Šค๋งˆํŠธ ๊ณ„์•ฝ์— ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์—ฌ์ž๋„ ์ œ์ž‘์ž๋„ ๊ทธ ๋ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  2. ๋ชฉํ‘œ์— ๋„๋‹ฌํ•˜์ž๋งˆ์ž ๋ˆ์ด ์ œ์ž‘์ž์—๊ฒŒ ๋ณด๋‚ด์ง€๋„๋ก ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ํŠน์ • ์‹œ๊ฐ„ ๋‚ด์— ๋ชฉํ‘œ์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ชจ๋“  ์ฐธ๊ฐ€์ž์—๊ฒŒ ํ™˜๋ถˆ์„ ์‹œํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ด ์ฝ”๋“œ๋Š” ํ•œ๋ฒˆ ๋ธ”๋ก์ฒด์ธ์— ๋ฐฐํฌ๋œ ํ›„์—๋Š” ์กฐ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋”, ๊ทธ๋ฆฌ๊ณ  ์ด๋”์˜ ๋‹จ์œ„

๊ฐ ๊ตญ๊ฐ€๋งˆ๋‹ค USD, INR, RNB, GBP, EUR ๋“ฑ๊ณผ ๊ฐ™์€ ์ž์ฒด ํ†ตํ™”๊ฐ€ ์žˆ๋“ฏ์ด, ๊ฐ ๋ธ”๋ก์ฒด์ธ์—๋Š” ์ž์ฒด ํ†ตํ™”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ†ตํ™”๋ฅผ ์ด๋”(Ether)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋”๋ฅผ USD ๋˜๋Š” EUR์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ™”ํ๋กœ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ๋ž˜์†Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋”์˜ ํ˜„์žฌ ๊ฐ€๊ฒฉ์€ ์ด๊ณณ ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํ˜„์‹ค ์„ธ๊ณ„์˜ ํ†ตํ™”์—๋Š” ๋‹ค์–‘ํ•œ ๋‹จ์œ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฏธ๊ตญ 1๋‹ฌ๋Ÿฌ๋Š” 100์„ผํŠธ์ด๋ฉฐ ํŽ˜๋‹ˆ(1์„ผํŠธ), ๋‹ˆ์ผˆ(5์„ผํŠธ), ์‹ญ ์„ผํŠธ(10์„ผํŠธ), ์ฟผํ„ฐ(25์„ผํŠธ)์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋‹จ์œ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตญ๊ฐ€ ๋ฐ ํ†ตํ™”์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋‹จ์œ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋”์—๋„ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ๋‹จ์œ„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ ๋‘ ๊ฐ€์ง€, ์ด๋”์™€ ์›จ์ด๋งŒ ์ž˜ ๊ธฐ์–ตํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์›จ์ด๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ๋‹จ์œ„๋กœ, ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„œ์—์„œ ์‹ค์ œ๋กœ ์“ฐ์ด๋Š” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

์ฃผ์†Œ(Addresses)

ํŽ˜์ด์Šค๋ถ๊ณผ ๊ฐ™์€ ์›น์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธํ•˜๋ ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฉ”์ผ, ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ ํŽ˜์ด์Šค๋ถ์—์„œ ์‹ ๋ถ„์ฆ์— ์ค€ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ์ด๋ฆ„ / ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์Šค๋ถ ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ ์ธ์ฆ์„ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉ์ž์˜ ์‹ ๋ถ„์ฆ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์€ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ๋Š” 001d3f1ef827552ae1114027bd3ecf1f086ba0f9 ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๊ฐ ์ฃผ์†Œ์—๋Š” ํ•ด๋‹น ๊ฐœ์ธํ‚ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธํ‚ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ์ผ์ข…์˜ ์•”ํ˜ธ๋กœ ๊ฐ„์ฃผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด ์ด ์ฃผ์†Œ + ๊ฐœ์ธํ‚ค ์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ธ”๋ก์ฒด์ธ๊ณผ ์ด๋”๋ฆฌ์›€์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์•”๊ธฐํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

  • ์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ „ ์„ธ๊ณ„ ๋ˆ„๊ตฌ์™€๋„ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ์ธํ‚ค๋Š” ์ ˆ๋Œ€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์†Œ + ๊ฐœ์ธํ‚ค๋Š” ๊ทธ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋„ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋งŒ์ด ์ด ์ •๋ณด๋ฅผ ํ†ต์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ๋Š” ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”๊ฐ€?

์•„๋ž˜์˜ ์˜ˆ๋Š” 001d3f1ef827552ae1114027bd3ecf1f086ba0f9 ๋ผ๋Š” ์ฃผ์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”์˜ ์›๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์— ์ž‘์„ฑ๋œ ๋‚ด์šฉ์ด๋ฉฐ, ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
https://en.wikipedia.org/wiki/Public-key_cryptography

  1. ๊ฐœ์ธํ‚ค ์ƒ์„ฑ k(private key) = f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315
  2. ๊ฐœ์ธํ‚ค๋กœ๋ถ€ํ„ฐ ๊ณต๊ฐœํ‚ค ์ƒ์„ฑ K(public key) = 6e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
  3. keccak256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ณต๊ฐœํ‚ค์˜ ํ•ด์‹œ๊ฐ’ ๊ณ„์‚ฐ Keccak256(K) = 2a5bc342ed616b5ba5732269001d3f1ef827552ae1114027bd3ecf1f086ba0f9001d3f1ef827552ae1114027bd3ecf1f086ba0f9
  4. ์ƒ์„ฑ๋œ ํ•ด์‹œ๊ฐ‘์˜ ๋’ค์ชฝ 20๋ฐ”์ดํŠธ๋ฅผ ์ทจํ•˜์—ฌ ์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ ์ƒ์„ฑ 0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9

๊ณ„์ •(Accounts)

์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ์™€ ๊ฐœ์ธํ‚ค์˜ ์กฐํ•ฉ์„ ๊ณ„์ •(account)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€ ๊ณ„์ •์€ ์ด๋” ์ž”๊ณ ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 2๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ง€๊ฐ‘(Wallets)

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

  • ๋น„๊ฒฐ์ •์  ์ง€๊ฐ‘: ์ด๊ฒƒ์€ ์ž„์˜์˜ ๊ฐœ์ธํ‚ค/๊ณต๊ฐœํ‚ค ์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ์œ ํ˜•์˜ ์ง€๊ฐ‘์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธํ‚ค/๊ณต๊ฐœํ‚ค ์Œ์„ ๋งŽ์ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ ํ‚ค ์Œ ๊ฐ„์—๋Š” ์•„๋ฌด๋Ÿฐ ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ์ •๋ก ์  ์ง€๊ฐ‘: ์ด ์œ ํ˜•์˜ ์ง€๊ฐ‘์—์„œ๋Š” ๋ชจ๋“  ํ‚ค๊ฐ€ ์‹œ๋“œ(seed)๋ผ๋Š” ๋‹จ์ผ ์‹œ์ž‘ ์ง€์ ์—์„œ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š๊ณ  ์ง€๊ฐ‘์„ ์‰ฝ๊ฒŒ ๋ฐฑ์—…ํ•˜๊ณ  ๋ณต์›ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ฐœ์ธํ‚ค๋ฅผ ๋ชจ๋ฅธ ์ฑ„ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค. ์‹œ๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹ˆ๋ชจ๋‹‰ ๋ฌธ๊ตฌ ๋‹จ์–ด๋กœ ๋ฐฐ์—ด๋ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋งˆ์Šคํฌ(metamask)์™€ ๊ฐ™์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ฒ˜์Œ ์„ค์น˜ํ–ˆ์„ ๋•Œ 12๊ฐœ ๋‹จ์–ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‹œ๋“œ๋ฅผ ์ €์žฅํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์Šค, ๊ฐ€์Šค ๊ฐ€๊ฒฉ, ๊ฐ€์Šค ํ•œ๋„

๊ฐ€์Šค(Gas)

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

๊ทธ๋Ÿผ ํŠธ๋žœ์žญ์…˜์„ ์œ„ํ•ด ์ง€๋ถˆํ•˜๋Š” ์ด๋”์˜ ์–‘์€ ๋ˆ„๊ฐ€ ๊ฒฐ์ •ํ• ๊นŒ์š”? ์ด๋Š” ์ด๋”๋ฆฌ์›€์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๋Š” ๋ถ€๋ถ„์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋Œ€ํ•œ ๋‹ต์€ ์ด๋”๋ฆฌ์›€ ํ™ฉ์„œ์— ๊ธฐ์žฌ๋˜์–ด ์žˆ๋Š”๋ฐ, ํŠธ๋žœ์žญ์…˜์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ โ€˜๋‹จ์œ„ ์—ฐ์‚ฐโ€™์ด ํฌํ•จ๋˜๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŠธ๋žœ์žญ์…˜์ด ๋‹จ์ˆœํžˆ ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ์ž‘์—…์ด๋ผ๋ฉด ์ด๋Š” 3๊ฐœ์˜ ๋‹จ์œ„ ์—ฐ์‚ฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ณฑ์…ˆ์ด๋ผ๋ฉด 5๊ฐœ์˜ ๋‹จ์œ„ ์—ฐ์‚ฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์˜ ๋‹จ์œ„๋ฅผ ๊ฐ€์Šค(Gas)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์Šค ๊ฐ€๊ฒฉ(Gas Price)

๊ฐ ํŠธ๋žœ์žญ์…˜์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐ€์Šค๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š”์ง€ ์•Œ์•„๋„, ์‹ค์ œ๋กœ ์ฑ„๊ตด์ž์—๊ฒŒ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ์ด๋”์˜ ์–‘์€ ์•„์ง ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๊ฒฐ์ •ํ•˜๋Š” ์š”์†Œ๊ฐ€ ๊ฐ€์Šค ๊ฐ€๊ฒฉ(Gas price)์ž…๋‹ˆ๋‹ค. ์žฌ๋ฏธ์žˆ๋Š” ์ ์€, ํŠธ๋žœ์žญ์…˜ ์ƒ์„ฑ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ฐ€์Šค ๊ฐ€๊ฒฉ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด,โ€™๊ฐ€์Šค๋‹น 3Gwei๋ฅผ ์ง€๋ถˆํ•  ์šฉ์˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹คโ€™๋ผ๊ณ  ์„ค์ •ํ•˜๋Š” ์‹์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ํŠธ๋žœ์žญ์…˜์ด 100000๊ฐ€์Šค๋ฅผ ์†Œ๋น„ํ•˜๊ณ  ๊ฐ€์Šค ๊ฐ€๊ฒฉ์„ 3Gwei๋กœ ์„ค์ •ํ•˜๋ฉด, ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ์ˆ˜์ˆ˜๋ฃŒ๋กœ 3000000Gwei๋ฅผ ์ง€๋ถˆํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

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

๊ฐ€์Šค ํ•œ๋„(Gas Limit)

ํŠธ๋žœ์žญ์…˜์ด ์†Œ๋ชจํ•˜๋Š” ๊ฐ€์Šค์˜ ์–‘์„ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ํŠธ๋žœ์žญ์…˜์„ ์ „์†กํ–ˆ๋‹ค๊ฐ€ ์ˆ˜๋ฐฑ ๋‹ฌ๋Ÿฌ ์–ด์น˜์˜ ์ด๋”๋ฅผ ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์†Œ๋ชจํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์„ ๊ฒ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด ์ƒํ™ฉ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด, ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ๊ฐ€์Šค์˜ ์ตœ๋Œ€ ๊ธˆ์•ก์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์Šค ํ•œ๋„(Gas Limit)๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์Šค ํ•œ๋„๋ฅผ ๋ธ”๋ก ๊ฐ€์Šค ํ•œ๋„(Block Gas Limit)๊ณผ ํ˜ผ๋™ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ๊ฐ€์Šค ํ•œ๋„๋Š” ์ด๋”๋ฆฌ์›€์˜ ๊ฐ ๋ธ”๋ก์— ์ ์šฉ๋˜๋Š” ์ตœ๋Œ€ ์บก์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด๋”๋ฆฌ์›€์˜ ๋ธ”๋ก์€ ๊ฐ€์Šค ์ด์•ก์ด 800๋งŒ ์ด๋‚ด์˜ ๋ฒ”์œ„์—์„œ๋งŒ ํŠธ๋žœ์žญ์…˜์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ธ”๋ก์— ๋Œ€ํ•ด ๊ฐ€์Šค ์ œํ•œ์ด ์žˆ๋Š” ์ด์œ ๋Š”, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•„ ๋ธ”๋ก ์ฑ„๊ตด์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฐ”์ดํŠธ์ฝ”๋“œ

์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ๋Š” ๋Œ€๊ฐœ ์†”๋ฆฌ๋””ํ‹ฐ(Solidity)์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์— ๋ฐฐํฌ๋˜๋Š” EVM ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ฝ”๋“œ๊ฐ€ JVM ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋˜๋Š” ์ž๋ฐ” ๋“ฑ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€์˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋งŒ์„ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค๊ณ„์˜ ์ด์  ์ค‘ ํ•˜๋‚˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ํŒŒ์ด์ฌ๊ณผ ์œ ์‚ฌํ•œ ๋ฐ”์ดํผ(Vyper) ๋“ฑ ๋ช‡๋ช‡ ์–ธ์–ด๊ฐ€ EVM ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด ์„ค๊ณ„์ž ์ž…์žฅ์—์„œ๋Š” ์ด๋”๋ฆฌ์›€ ํ™ฉ์„œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋…์ž์ ์ธ ์ด๋”๋ฆฌ์›€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค!

<์†”๋ฆฌ๋””ํ‹ฐ ์ฝ”๋“œ=""> ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/zastrin-solidity-code-sample.png) <๋ฐ”์ดํŠธ ์ฝ”๋“œ=""> ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/zastrin-sample-evm-bytecode.png) ### EVM(Ethereum Virtual Machine) ์ด๋”๋ฆฌ์›€ ๊ฐ€์ƒ ๋จธ์‹ (Ethereum Virtual Machine, EVM)์€ ๋‹จ์ˆœํ•˜์ง€๋งŒ ๊ฐ•๋ ฅํ•œ, ํŠœ๋ง ์™„์ „์„ฑ์„ ๊ฐ€์ง„ 256๋น„ํŠธ ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ์จ ๋ˆ„๊ตฌ๋‚˜ ์ž„์˜์˜ EVM ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EVM์€ ์ด๋”๋ฆฌ์›€ ํ”„๋กœํ† ์ฝœ์˜ ์ผ๋ถ€์ด๋ฉฐ, ์ด๋”๋ฆฌ์›€ ์‹œ์Šคํ…œ์˜ ํ•ฉ์˜ ์—”์ง„์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. EVM์€ ๋ˆ„๊ตฌ๋‚˜ ์‹ ๋ขฐ๊ฐ€ ํ•„์š”์—†๋Š” ํ™˜๊ฒฝ์—์„œ ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ ์™„์ „ํžˆ ๊ฒฐ์ •๋ก ์ ์ด๊ณ  ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. geth, parity ๋“ฑ์˜ ์ด๋”๋ฆฌ์›€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด EVM์ด ์‹œ์ž‘๋˜๊ณ , EVM์ด ํŠธ๋žœ์žญ์…˜์˜ ๋™๊ธฐํ™”, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์‹คํ–‰์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ## ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•  ๊ฐœ๋ฐœ ๋„๊ตฌ๋“ค ### ๊ฒŒ์Šค(Geth) / ํŒจ๋ฆฌํ‹ฐ(Parity) ํด๋ผ์ด์–ธํŠธ #### Geth Geth๋Š” **์ด๋”๋ฆฌ์›€ ์žฌ๋‹จ( )** [Ethereum Foundation](http://ethereum.org/) ์ด ์ œ๊ณตํ•˜๋Š” ๊ณต์‹ ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋กœ์จ, Go์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Geth๋ฅผ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋‹ค๋ฅธ ์ด๋”๋ฆฌ์›€ ํด๋ผ์ด์–ธํŠธ(๋…ธ๋“œnode๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ)์— ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์„ ๋จผ์ € ์‹œ์ž‘ํ•˜๊ณ  ๋ธ”๋ก์ฒด์ธ์˜ ์ „์ฒด ์‚ฌ๋ณธ์„ ๋‚ด๋ ค๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Geth๋Š” **๋ธ”๋ก์ฒด์ธ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€**ํ•˜๊ธฐ ์œ„ํ•ด ๋Š์ž„์—†์ด ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ **๋ธ”๋ก์„ ์ฑ„๊ตด**ํ•˜๊ณ , ๋ธ”๋ก์ฒด์ธ์— ํŠธ๋žœ์žญ์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ธ”๋ก์˜ **ํŠธ๋žœ์žญ์…˜์„ ๊ฒ€์ฆ**ํ•˜๋ฉฐ **ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰**ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  RPC๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๋…ธ์ถœํ•˜์—ฌ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” **์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํด๋ผ์ด์–ธํŠธ**(geth console)๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/Geth-network.png) #### ํŒจ๋ฆฌํ‹ฐ ํŒจ๋ฆฌํ‹ฐ(Parity)๋Š” ์ด๋”๋ฆฌ์›€ ํ”„๋กœํ† ์ฝœ์˜ ๋˜ ๋‹ค๋ฅธ ๊ตฌํ˜„์ฒด์ด๋ฉฐ, ๋Ÿฌ์ŠคํŠธ(Rust) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Parity Inc. ๋ผ๋Š” ๊ธฐ์—…์—์„œ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๋”๋ฆฌ์›€ ๋„คํŠธ์›Œํฌ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ธธ์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ์—ด๋ ค ์žˆ์œผ๋ฉฐ, C++, ํŒŒ์ด์ฌ ๋ฐ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํด๋ผ์ด์–ธํŠธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•œ๋‹ค๋ฉด ์ด๋”๋ฆฌ์›€ ํ™ฉ์„œ์˜ ์‚ฌ์–‘์„ ๋”ฐ๋ผ ์ž์‹ ์˜ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค! ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/geth-parity-network.png) (A simple illustration of the Ethereum network with various clients connected to one another.) ### Web3.js web3js๋Š” ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์œ ๋ช…ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ด์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด ์˜ˆ์ œ](https://www.zastrin.com/simple-ethereum-voting-dapp.html) ๋Š” web3.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ๋ฐ๋ชจ, ํˆฌํ‘œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ [Ethers.js](https://github.com/ethers-io/ethers.js/) ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ### ํŠธ๋Ÿฌํ”Œ(Truffle) Ruby on Rails, Django ๋“ฑ๊ณผ ๊ฐ™์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ฒ˜๋Ÿผ, ํŠธ๋Ÿฌํ”Œ์€ dapps ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜๋กœ์จ ๋ธ”๋ก์ฒด์ธ์—์„œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ณต์žก์„ฑ์„ ๋งŽ์ด ์ถ”์ƒํ™”ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋Ÿฌํ”Œ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [http://truffleframework.com/](http://truffleframework.com/) ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**๋ณธ ๊ฐ•์ขŒ์˜ ๋ชจ๋“  ๊ณผ์ •๋„ ํŠธ๋Ÿฌํ”Œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.** ํŠธ๋Ÿฌํ”Œ์˜ ๋Œ€์•ˆ์œผ๋กœ [Embark](https://github.com/embark-framework/embark) ๋ผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ### ๊ฐ€๋‚˜์Šˆ(Ganache) ๊ฐœ๋ฐœ์„ ์œ„ํ•ด geth ๋˜๋Š” ํŒจ๋ฆฌํ‹ฐ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ 15 ์ดˆ์”ฉ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ ๋ชฉ์ ์œผ๋กœ [๊ฐ€๋‚˜์Šˆ(ganache)](http://truffleframework.com/ganache/) ๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ganache-cli ๋˜๋Š” GUI ๋ฒ„์ „์˜ ์ปค๋งจ๋“œ ๋ผ์ธ ๋ฒ„์ „์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋‚˜์Šˆ์˜ ๋˜ ๋‹ค๋ฅธ ์žฅ์ ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด 100๊ฐœ์˜ ์ด๋”๊ฐ€ ๋ฏธ๋ฆฌ ํƒ‘์žฌ๋œ 10๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๊ณ„์ •์„ ํ™•๋ณดํ•˜๊ฒŒ ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. > npm install ganache-cli > node_modules/.bin/ganache-cli ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/ganache.png) ### ๋ฉ”ํƒ€๋งˆ์Šคํฌ(Metamask) ์•ž ์žฅ์—์„œ ์ง€๊ฐ‘์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€ ์ง€๊ฐ‘ ์ค‘ ๋ฉ”ํƒ€๋งˆ์Šคํฌ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ์ง€๊ฐ‘ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. [๋ฉ”ํƒ€๋งˆ์Šคํฌ ์›น์‚ฌ์ดํŠธ](https://www.metamask.io/) ์—์„œ ํฌ๋กฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ๋ฉ”ํƒ€๋งˆ์Šคํฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฒฐ์ •๋ก ์  ์ง€๊ฐ‘์˜ ๊ฐœ๋…, ์‹œ๋“œ ๋ฌธ๊ตฌ์˜ ๊ฐœ๋…์„ ๋ณด์—ฌ์ฃผ๋Š” ๋น„๋””์˜ค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ์ด๋”์Šค์บ”(Etherscan) [์ด๋”์Šค์บ”(Etherscan)](https://etherscan.io/) ์€ ์ด๋”์Šค์บ” ์‚ฌ์—์„œ ์„œ๋น„์Šคํ•˜๋Š” ๋ฌด๋ฃŒ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ, ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ ํŽธ๋ฆฌํ•œ ํƒ์ƒ‰๊ธฐ์ž…๋‹ˆ๋‹ค. ํผ๋ธ”๋ฆญ ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์˜ ๋ชจ๋“  ์ฃผ์†Œ, ํŠธ๋žœ์žญ์…˜๊ณผ ๋ธ”๋ก์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ด ์›น์‚ฌ์ดํŠธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์€ ์ด๋”๋ฆฌ์›€ ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ๊ฐํ™”ํ•œ ๊ฒƒ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ด๋”์Šค์บ”์˜ ์œ„์น˜๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํผ๋ธ”๋ฆญ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ๋Œ€์‘๋˜๋Š” ๊ฐ๊ฐ์˜ ์ด๋”์Šค์บ” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋งํฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฉ”์ธ๋„ท: [https://etherscan.io/](https://etherscan.io/) Ropsten: [https://ropsten.etherscan.io/](https://ropsten.etherscan.io/) Rinkeby: [https://rinkeby.etherscan.io/](https://rinkeby.etherscan.io/) Kovan: [https://kovan.etherscan.io/](https://kovan.etherscan.io/) ![](https://develup4.github.io/bear_to_github_blog_template/assets/images/2dc2c4474d039d784367253c35c32a4a/Etherscan-blockchain-network.png) ### ๋ฆฌ๋ฏน์Šค(Remix) ๋ฆฌ๋ฏน์Šค๋Š” ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € IDE์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋ฟ ์•„๋‹ˆ๋ผ, IDE๋กœ ์ง์ ‘ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ปดํŒŒ์ผํ•˜๊ณ , ๋ฐฐํฌํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์–‘ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„์ „์„ ์„ ํƒํ•˜๊ณ , ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋“ฑ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [https://remix.ethereum.org](https://remix.ethereum.org/) ์—์„œ IDE์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ฏน์Šค๋Š” ์†Œ๊ทœ๋ชจ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹ ์†ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์— ์ข‹์ง€๋งŒ, ์ „๋ฌธ์ ์ธ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ๋Š” **Vim, Atom, Visual Studio ๋˜๋Š” Sublime**๊ณผ ๊ฐ™์€ ํŽธ์ง‘๊ธฐ๋ฅผ ๊ฐœ๋ฐœ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ์ปดํŒŒ์ผ ๋ฐ ๋ฐฐํฌ์—๋Š” ํŠธ๋Ÿฌํ”Œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. - - - - [1] ์ธํ”„๋Ÿฐ, ์ด๋”๋ผ์›€ ์ž…๋ฌธ ๋ฐ”์ด๋ธ”: ๋ชจ๋“  ์ด๋”๋ฆฌ์›€ ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•˜์—ฌ [๋ฌด๋ฃŒ ์ด๋”๋ฆฌ์›€ ์ž…๋ฌธ ๋ฐ”์ด๋ธ”: ๋ชจ๋“  ์ด๋”๋ฆฌ์›€ ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•˜์—ฌ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜](https://www.inflearn.com/course/ethereum-bible)