1ํŽธ์— ์ด์–ด IBM Blockchain Platform(์ดํ•˜ IBP) Extension for VS Code ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

2ํŽธ์—์„œ๋Š” IBP Extension for VS Code์˜ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด
์ž์„ธํžˆ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์•„๋ž˜ ์ด๋ฏธ์ง€๋“ค์€ IBP Extension for VS Code๋ฅผ ์ด์šฉํ•ด์„œ Fabric Network๋ฅผ ๊ตฌ๋™ํ•˜๊ณ  ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋””ํ”Œ๋กœ์ดํ•œ
์ตœ์ข… ์ƒํƒœ์˜ ๋ชจ์Šต์„ ์บก์ณํ•œ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

IBP for VS code์˜ ๋ ˆ์ด์•„์›ƒ(Side Bar) ๊ตฌ์„ฑ์€ ํฌ๊ฒŒ 4๊ฐœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์”ฉ ์ฒœ์ฒœํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. SMART CONTRACT PACKAGES

์—ฌ๊ธฐ์—์„œ๋Š” ์ฒด์ธ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ VS Code WorkSpace์— ์žˆ๋Š” ์ฒด์ธ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํŒจํ‚ค์ง€ํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์กด์— ๋งŒ๋“  ์ฒด์ธ์ฝ”๋“œ๋ฅผ import ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” test-cc๋ผ๋Š” ์ด๋ฆ„์˜ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ํŒจํ‚ค์ง€ํ™” ํ–ˆ์Šต๋‹ˆ๋‹ค.

@๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•ž์—๋Š” ํŒจํ‚ค์ง€๋ช…์ด ๋’ค์—๋Š” ๋ฒ„์ „์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฒด์ธ์ฝ”๋“œ๊ฐ€ ํŒจํ‚ค์ง€ํ™” ๋œ๋‹ค๋ฉด ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋˜๊ฒ ์ฃ ?

2. LOCAL FABRIC OPS

์—ฌ๊ธฐ์—์„œ๋Š” Fabric Network๋ฅผ ๊ตฌ๋™(START/RESTART)ํ•˜๊ฑฐ๋‚˜ ์ •์ง€(STOP) ์‚ญ์ œ(TEARDOWN) ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํผ๋ ˆ์ด์…˜ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

Fabric Sample ์†Œ์Šค๋ฅผ ํ•œ๋ฒˆ ๊ตฌ๋™ํ•ด๋ณด์‹  ๋ถ„์ด๋ผ๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.
(https://github.com/hyperledger/fabric-samples.git)

Fabric Sample ์†Œ์Šค ์ค‘ basic-network์˜ Script๋กœ ๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„(start.sh, stop.sh, teardown.sh)์„
GUI(Graphic User Interface)ํ˜•ํƒœ์—์„œ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ 1๋ฒˆ์—์„œ ํŒจํ‚ค์ง€ํ™”๋œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ install/instaniate/upgrade ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌ์„ฑ๋œ ์ฑ„๋„/๋…ธ๋“œ/์กฐ์ง(Org)๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ฃ .

์‹ค์ œ ์ด ๊ณณ์—์„œ Fabric Network๋ฅผ ๊ตฌ๋™ํ•˜๋ฉด 1๊ฐœ์˜ Peer/CouchDB, 1๊ฐœ์˜ CA, 1๊ฐœ์˜ orderer ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
(์ด๋”ฐ๊ฐ€ ์ง์ ‘ ํ•œ๋ฒˆ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค)

3. FABRIC GATEWAYS

์—ฌ๊ธฐ์—์„œ๋Š” ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ Fabric Gateway์™€ ์—ฐ๊ฒฐ๋œ ์ฑ„๋„, ์ฑ„๋„ ์•ˆ์— ๋””ํ”Œ๋กœ์ด๋œ ์ฒด์ธ์ฝ”๋“œ ์ด๋ฆ„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ๋””ํ”Œ๋กœ์ด๋œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Invoke/Query๋ฅผ ๋‚ ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VSCode ์—์„œ๋Š” Invoke/Query๋ฅผ ๊ฐ๊ฐ Submit Transaction/Evaluate Transaction์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์›์žฅ์ด ๋ณ€๊ฒฝ(Create,Update)๋˜๋Š” function์„ ํ˜ธ์ถœํ•  ๋• Submit Transaction,
์›์žฅ์„ ์กฐํšŒ(Read)ํ•˜๋Š” function์„ ํ˜ธ์ถœํ•  ๋• Evaluate Transaction์„ ๋ถ€๋ฅธ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

4. FABRIC WALLETS

์ฑ„๋„์— ์—ฐ๊ฒฐํ•˜์—ฌ ๊ธฐ๋Šฅ(Execute)์„ ์ˆ˜ํ–‰ํ•  User Identity๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

๋””ํดํŠธ๋กœ admin(๊ด€๋ฆฌ์ž) Identity๊ฐ€ ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด Identity๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ธฐ์กด์— ์กด์žฌํ•˜๊ณ  ์žˆ๋Š” Identity(๋‹จ, file system ํ˜•ํƒœ๋กœ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค)๋ฅผ import ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋žต์ ์ธ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” ์‹ค์ œ๋กœ ํ•˜๋‚˜์”ฉ ๊ตฌ๋™ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

3ํŽธ์—์„œ ๋งŒ๋‚˜์š”