๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Dev/+@

๊ฐ€๋‚˜์Šˆ(Ganache) ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

by vellahw 2023. 6. 13.

 

๐Ÿ’ญ ์„œ๋ก 

๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋ถ€๋”ชํžˆ๋Š” ๊ฒŒ ๋ฐ”๋กœ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์ด๋‹ค.

์‹ค์ œ ๋„คํŠธ์›Œํฌ๋ฅผ ์“ฐ๊ธฐ์—๋Š” ๋น„์šฉ๋„ ๋“ค๊ณ  ์†๋„๋„ ๋А๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ์—์„œ ๋น ๋ฅด๊ฒŒ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด ํ•„์š”ํ•˜๋‹ค.

์ด๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ๋ฐ”๋กœ ๊ฐ€๋‚˜์Šˆ Ganache๋‹ค. Ganache ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ฐ€๋ณ๊ฒŒ ๊ตฌ์ถ•ํ•ด๋ณด๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

 

โœ”๏ธ ๊ฐ€๋‚˜์Šˆ Ganache๋ž€?

  • ์ด๋”๋ฆฌ์›€ ๋กœ์ปฌ ๋ธ”๋ก์ฒด์ธ ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ
    ์‰ฝ๊ฒŒ ๋งํ•ด ๋‚ด ์ปดํ“จํ„ฐ ์•ˆ์— ๊ฐœ์ธ์šฉ ๋ธ”๋ก์ฒด์ธ์„ ๋„์›Œ์ฃผ๋Š” ๋А๋‚Œ

 

์žฅ์ 

  • ๋น ๋ฅธ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์†๋„
  • ํ…Œ์ŠคํŠธ์šฉ ๊ณ„์ •๊ณผ ETH ์ž๋™ ์ œ๊ณต
  • ๋””๋ฒ„๊น… ํŽธํ•จ
  • ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ํ…Œ์ŠคํŠธ์— ์ตœ์ ํ™”

๊ฐœ๋ฐœ ์ดˆ๋ฐ˜์—๋Š” ๊ฑฐ์˜ ํ•„์ˆ˜!

 

1. Ganache ์„ค์น˜ํ•˜๊ธฐ

๊ฐ€๋‚˜์Šˆ ๊ณต์‹ ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•ด์ค€๋‹ค.

https://trufflesuite.com/ganache/

 

Ganache - Truffle Suite

Features VISUAL MNEMONIC & ACCOUNT INFO Quickly see the current status of all accounts, including their addresses, private keys, transactions and balances.

archive.trufflesuite.com

์„ค์น˜ ํ›„ ์‹คํ–‰ํ•˜๋ฉด ๋ฐ”๋กœ ๋กœ์ปฌ ๋ธ”๋ก์ฒด์ธ ์ƒ์„ฑ๋œ๋‹ค.

 

 

2. Ganache ์‹คํ–‰ ํ™•์ธ

Ganache๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ด๋Ÿฐ ์ •๋ณด๋“ค์ด ๋‚˜์˜จ๋‹ค.

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๊ณ„์ •
  • ๊ฐ ๊ณ„์ •์˜ Private Key
  • ๊ธฐ๋ณธ ํฌํŠธ (๋ณดํ†ต 8545)
  • ๋„คํŠธ์›Œํฌ ID

์ด ์ •๋ณด๋“ค์€ ๋‚˜์ค‘์— ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ๋ฐฐํฌํ•  ๋•Œ ํ•„์š”ํ•˜๋‹ค.

ํŠนํžˆ RPC ์„œ๋ฒ„ ์ฃผ์†Œ (http://127.0.0.1:8545) ๋Š” ๊ผญ ๊ธฐ์–ตํ•ด๋‘๋Š” ๊ฒŒ ์ข‹๋‹ค.

 

3. Truffle๊ณผ ์—ฐ๊ฒฐํ•˜๊ธฐ

Ganache๋Š” ๋‹จ๋…์œผ๋กœ ์“ฐ๊ธฐ๋„ ํ•˜์ง€๋งŒ ๋ณดํ†ต ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋ž‘ ๊ฐ™์ด ์“ด๋‹ค.

Truffle์€ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , ํ…Œ์ŠคํŠธํ•˜๊ณ , ๋ฐฐํฌ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋„๊ตฌ๋‹ค.

 

3-1. Truffle ์—ฐ๊ฒฐ

truffle-config.js์— ์„ค์ •์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*"
    }
  }
};

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Truffle์—์„œ๋„ Ganache๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋Œ“๊ธ€