IBM Blockchain Platform(์ดํ•˜ IBP) Extension for VS Code๋ฅผ ์ด์šฉํ•ด์„œ ์ฒด์ธ์ฝ”๋“œ(SmartContract)๋ฅผ
์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค.

๋ณธ ํฌ์ŠคํŒ…์€ HyperLedger Fabric์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์•Œ๊ณ ๊ณ„์‹  ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐ…

IBM์—์„œ๋Š” BaaS(blockchain-as-a-service) ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค๋ฅผ IBM Blockchain Platform(์ดํ•˜ IBP)์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์˜คํผ๋ง ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™๊ฐ€๋Šฅํ•œ IBP๋Š” ๊ทผ๋ณธ์ ์œผ๋กœ Hyperledger Fabric ์Šคํƒ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹น์—ฐํžˆ IBP๊ฐ€ HyperLedger Fabric์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ๋ฐ ๋””ํ”Œ๋กœ์ด ๊ณผ์ •๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ž ๊น ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ/ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณผ๊นŒ์š”?

    HyperLedger Fabric์—์„œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ(๋‹จ์œ„/์‹œ๋‚˜๋ฆฌ์˜ค ํ…Œ์ŠคํŠธ)
  2. ๋กœ์ปฌ/๊ฐœ๋ฐœ fabric ํ™˜๊ฒฝ์—์„œ ์ฒด์ธ์ฝ”๋“œ deploy(instantiate) ํ›„ ํ…Œ์ŠคํŠธ

1๋ฒˆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ state์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” shim ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
shim ํŒจํ‚ค์ง€์—์„œ๋Š” MockStub์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ชจ์˜๋กœ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์ƒ˜ํ”Œ์€ github์—๋„ ์ž˜ ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค(์•„๋ž˜ ์†Œ์Šค๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”)
(https://github.com/hyperledger/fabric/blob/release-1.4/examples/chaincode/go/example02/chaincode_test.go)

๋””์ž์ธ์ด๋‚˜ ํ™”๋ฉด ๊ธฐํš์„ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ์‹ค์ œ ๊ตฌํ˜„์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— balsamiq ๊ฐ™์€ Mockup tool์„ ์ด์šฉํ•ด
๋ชจ์˜ Frame์„ ๋งŒ๋“ค๊ฒŒ ๋˜๋Š”๋ฐ ์ด์™€ ๋น„์Šทํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ์˜(mock) ๊ตฌํ˜„์ฒด์ธ๊ฑฐ์ฃ .

์š”์•ฝํ•˜์ž๋ฉด MockStub์€ ์ฒด์ธ ์ฝ”๋“œ ๊ธฐ๋Šฅ์„ ๋””ํ”Œ๋กœ์ด ํ•˜๊ธฐ ์ „ ์ง์ ‘ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ shim ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.
(https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim)

์‹ค์ œ๋กœ ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ์ž ๋Œ€๋ถ€๋ถ„์ด Mockstub์„ ์ด์šฉํ•ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, MockStub์€ production ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™๋˜๋Š” ์ฒด์ธ์ฝ”๋“œ(implement ChaincodeStub interface)์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„์˜ ํ•œ๊ณ„๋Š” ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด couchDB์— ์ ‘๊ทผํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค ํ˜น์€ GetHistoryForKey ๊ฐ™์€ ์ผ๋ถ€ function๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์€๊ฑฐ์ฃ (not implemented).

์ด๋ ‡๊ฒŒ ์ง€์›๋˜์ง€ ์•Š์€ MockStub ํ•จ์ˆ˜๋“ค์„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ MockStub๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ตฌ๋™ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๋˜์ง€ ๋ณ„๋„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋งŽ์€ ๋…ธ๋ ฅ๊ณผ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์€ ์ผ๋ถ€ ๊ธฐ๋Šฅ๋“ค๋กœ ์ œํ•œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ ํ˜น์€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๊ตฌ์ถ•๋œ
๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋””ํ”Œ๋กœ์ดํ•œ ํ›„ ๊ฐ function์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค(2๋ฒˆ)

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ณผ์ •๋“ค์ด ๋‹จ์ˆœํžˆ ํ•œ๋‘๋ฒˆ ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค์— ๋Œ€ํ•œ ์š”๊ฑด์ด ๋Š์ž„์—†์ด ๋ณ€๊ฒฝ๋จ์— ๋”ฐ๋ผ ์ฒด์ธ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๋กœ์ง๋“ค๋„ ์ง€์†์ ์ธ ์ˆ˜์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ/ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์ง€์†์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ฒด์ธ์ฝ”๋“œ LifeCycle(package, install, instantiate, upgrade)์— ๋”ฐ๋ผ
๋‹ค์‹œ ๊ฐœ๋ฐœ > ํ…Œ์ŠคํŠธ > ๋””ํ”Œ๋กœ์ด ํ•˜๋Š” ๊ณผ์ •์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ผ์–ด๋‚˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์ฃ .

์ด๋Ÿฌํ•œ ๊ณผ์ •๋“ค์„ ๋ณ„๋„ script๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ Fabric Client SDK๋ฅผ ๊ตฌํ˜„ํ•ด ๊ฐ„๊ฒฐํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ IBM์—์„œ๋Š” VS Code extension์œผ๋กœ ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ์ผ์ข…์˜ ๋„๊ตฌ(Tool)๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ(free)๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ‘๊ทผ์„ฑ(?)๋„ ์ข‹๊ณ 
์—ฌ๊ธฐ์—์„œ ๊ฐœ๋ฐœํ•œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋‹น์—ฐํžˆ Fabric์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(IBP๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„์š”)

์ž ๊ทธ๋Ÿผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณผ๊นŒ์š”?

IBP Extension for VS Code ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

IBP Extension for VS Code๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.
(https://github.com/IBM-Blockchain/blockchain-vscode-extension)

  • OS : Windows 10, Linux, MacOS
  • VS Code v1.32 ์ด์ƒ
  • Node v8.x ์ด์ƒ, npm v5.x ์ด์ƒ
  • Docker v17.06.2-ce ์ด์ƒ
  • Docker Compose v1.14.0 ์ด์ƒ
  • Golang v1.12 ์ด์ƒ


์ถ”๊ฐ€๋กœ Windows ์‚ฌ์šฉ์ž๋Š” ์•„๋ž˜ ๋‚ด์šฉ๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

    ์„ค์น˜ ํ™•์ธ ๋ฐฉ๋ฒ•(ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด ์ž…๋ ฅ)์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค

  • node –version
  • npm –version
  • docker –version
  • docker-compose –version
  • go version

๊ธฐ๋ณธ์ ์ธ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ์€ ์œ„ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋งŒ Go, javascript, typescript, java ๋“ฑ ๊ตฌํ˜„ํ•  ์ฒด์ธ์ฝ”๋“œ language์— ๋”ฐ๋ผ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์ •ํ•ด์ค˜์•ผ ํ•  ๋ถ€๋ถ„๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ €ํฌ๋Š” golang์šฉ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ด๋ฏ€๋กœ goํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ธฐ(compile/run) ์œ„ํ•œ ๋ณ„๋„์˜ path๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
(๋ณธ ํฌ์ŠคํŒ…์—์„œ path๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜ํŒŒ์ผ์„ ํ†ตํ•ด ์ž๋™์œผ๋กœ ์„ค์ •๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค)
go์–ธ์–ด๋Š” https://golang.org/์— ์ ‘์†ํ•˜์—ฌ ์‹คํ–‰ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜(install)๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ(.msi, .pkg)๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ๊ฒฝ์šฐ go์–ธ์–ด ์‹คํ–‰์„ ์œ„ํ•œ path๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋งŒ tar ๋˜๋Š” zipํ˜•ํƒœ์˜ ํŒŒ์ผ์€ ๋ณ„๋„๋กœ path๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ํ•ด๋‹น ๊ณผ์ •์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค)

go์–ธ์–ด์— ๋Œ€ํ•œ ์„ค์ •๋“ค์ด ์™„๋ฃŒ ๋˜๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ go env ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์„ค์ •๋œ go ํ™˜๊ฒฝ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋Š” GOPATH์ž…๋‹ˆ๋‹ค.

GOPATH๋Š” go ์ฝ”๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ผ์ข…์˜ Workspace(์ž‘์—…๊ณต๊ฐ„) ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ javaํ™˜๊ฒฝ์„ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ JDK ๋˜๋Š” JRE ๊ฒฝ๋กœ๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋‚˜ PATH์— ์„ค์ •ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ(๊ฐœ๋…์ƒ ์•ฝ๊ฐ„์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค)
GOPATH๋„ ์„ค์ •์„ ํ†ตํ•ด Workspace์˜ ๊ธฐ์ค€ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

GOPATH๋ฅผ ๊ผญ ๊ธฐ์–ตํ•ด์ฃผ์„ธ์š”.
Unix ๊ณ„์—ด์˜ ์‹œ์Šคํ…œ๋“ค์€ go๋ฅผ ์„ค์น˜ํ•˜๋ฉด(.msi,.pkg) $HOME/go ๊ฒฝ๋กœ์— ๋””ํดํŠธ๋กœ GOPATH๊ฐ€ ์„ค์ •๋˜๋ฉฐ
Windows ๊ณ„์—ด์—์„œ๋Š” %USERPROFILE%/go๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค(ํŠน์ • ๋ฒ„์ „ ์ดํ•˜๋Š” ๋””ํดํŠธ ์„ค์ • ์•ˆ๋จ)

์ด GOPATH๋Š” ์ดํ›„์— ์ฒด์ธ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ธฐ์ค€ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ๊ธฐ์–ตํ•ด์ฃผ์„ธ์š”.

๊ธฐ๋ณธ์ ์ธ ํ™˜๊ฒฝ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด VS Code๋ฅผ ์‹คํ–‰ํ•˜์—ฌ IBM Blockchain Platform extension์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. VS Code ์‹คํ–‰ ํ›„ extension ํด๋ฆญ(๋‹จ์ถ•ํ‚ค : command+shift+p)ํ•ฉ๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰ ์ฐฝ์— IBM Blockchain Platform์„ ์ž…๋ ฅํ•œ ํ›„ ํ•ด๋‹น extension์„ ์„ค์น˜(install) ํ•ฉ๋‹ˆ๋‹ค.

2. ์„ค์น˜(install)๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•„๋ž˜ ํ™”๋ฉด์ฒ˜๋Ÿผ Activity Bar์— IBP ์•„์ด์ฝ˜์ด ์ƒ์„ฑ๋˜๋ฉฐ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ 2๋ฒˆ์„ ์ง„ํ–‰ํ•˜์‹œ๋‹ค๊ฐ€ “There is no data provider registered that can provide view data” ๋ผ๋Š” ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด npm/nodejs ๋ฒ„์ „ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

IBP for VS code ํ™”๋ฉด์€ ์•„๋ž˜์™€ ๊ฐ™์ด 4๊ฐœ์˜ ๋ ˆ์ด์•„์›ƒ(layout)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ฐ ๋ ˆ์ด์•„์›ƒ์˜ ์—ญํ• ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • SMART CONTRACTS PACKAGES : ์ฒด์ธ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑ ๋ฐ ํŒจํ‚ค์ง€ํ™”
  • LOCAL FABRIC OPS : ๋กœ์ปฌ Fabric ๋„คํŠธ์›Œํฌ ๊ตฌ๋™
  • FABRIC GATEWAYS : ๋กœ์ปฌ Fabric ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ/์ฒด์ธ์ฝ”๋“œ ํ•จ์ˆ˜ ํ˜ธ์ถœ(Submit/Evaluate)
  • FABRIC WALLETS : ๊ด€๋ฆฌ์ž ์‹ ์› ์ €์žฅ

๊ฐ ๋ ˆ์ด์•„์›ƒ๋ณ„๋กœ ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ๊ธฐ๋Šฅ๋“ค์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋˜ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ์ž์„ธํžˆ ์ด์•ผ๊ธฐ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.