์๋ ํ์ธ์.
์ง๊ธ๊น์ง๋ ์ ๊ฐ Dapp์ ๋ง๋ค๋ ํญ์ Ganache๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
ํ์ง๋ง ์ ๊ฐ์ ๊ฐ์ธ ๊ฐ๋ฐ์๋ ๋ ธํธ๋ถ ํ๋๋ก ๊ฐ๋ฐ์ ํ๊ธฐ๋๋ฌธ์.. Ganache๋ฅผ 24์๊ฐ ์ผ๋์๊ฐ ์๊ธฐ์ ํญ์ ์ปดํจํฐ๋ฅผ ์๋กํค๋ฉด Ganache๋ฅผ ์๋ก ์ด์ด์ ๋ค์ Contract๋ฅผ ๋ฐฐํฌํ๊ณ ..
์๋ก์ด ๋ธ๋ก์ฒด์ธ ํ๊ฒฝ์์ ์ด์ด์ ๊ฐ๋ฐ์ ํ์์ฃ !
๋ฉํ๋ง์คํฌ๋ฅผ ์จ๋ณด์ ๋ถ์ด๋ผ๋ฉด Ropsten, Kovan, Rinkeby ์ด ์ธ๊ฐ์ง๋ฅผ ์๋ง๋ ๋ณด์ จ์๊ฑฐ์์.
์ ๋ ํญ์ Ganache๋ฅผ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์ ๋ก์ปฌํธ์คํธ๋ก ๋ฉํ๋ง์คํฌ๋ฅผ ์ฌ์ฉํ์์ฃ !
์์์ ์ธ๊ธํ ์ธ๊ฐ์ง์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, Ganache๋ฅผ ์ฌ์ฉํ์๋์ฒ๋ผ ์ปดํจํฐ๋ฅผ ํฌ๋๋ง๋ค Contract๋ฅผ ๋ฐฐํฌํด์ค ํ์๊ฐ ์์ต๋๋ค!
์ ๋ง ์ด๋๋ฆฌ์ ๋คํธ์ํฌ์ฒ๋ผ ๋์์ ํ๊ธฐ์, ํ ์คํธํ๊ธฐ์๋ ํจ์ฌ ์ฉ์ดํ๋ค๊ณ ์๊ฐํด์!
์ ์ธ๊ฐ์ค์ ์ค๋์ Kovan์ ๋ํด ์ค๋ช ๋๋ฆฌ๊ณ ์ง์ ์ค์ต์ ์งํํด๋ณด๋ ค๊ณ ํฉ๋๋ค!
Kovan etherscan ์ฃผ์ :https://kovan.etherscan.io/
Kovan faucet ์ฃผ์ : https://gitter.im/kovan-testnet/faucet
Kovan์ Parity๋ผ๋ ํ๋ก๊ทธ๋จ์ ํตํด์ ์ง์ ์ฑ๊ตด๋ ํ ์์๊ณ Geth์ ์ ๋ง ๋น์ทํ๋ค๊ณ ์๊ฐ๋๋๋ฐ
์ง๊ธ์ Parity๋ ์ฐ์ง ์์๊ฑฐ์์.
๊ทธ๋ผ ether๋ฅผ ์ด๋์ ๋ฐ๋๊ตฌ์??
์์ ์ ์ด๋ Kovan faucet ์ฃผ์๋ก ๋ค์ด๊ฐ์
์ ๊ฐ์
ํ์๊ณ ๊ตฌ๊ฑธ(?) ํ์๋ฉด ... 3์ด๋์ฉ ์ฃผ๋๋ผ๊ตฌ์ ใ
ใ
ใ
ใ
ใ
ใ
ใ
ใ
3์ด๋๋ฉด ํ ์คํธ ํ๊ธฐ ์ถฉ๋ถํ ์ด๋๋ผ๊ณ ์๊ฐํด์................
์ด๋ ๊ฒ ๋ฉํ๋ง์คํฌ์์ Kovan์ ์ฐ๊ฒฐํ์๋ฉด ์์ ์ ๊ณ์ข ์ฃผ์๊ฐ ๋์ค๋๋ฐ ์ ์ฃผ์๋ฅผ ์ faucetํํ์ด์ง๋ก ๋ค์ด๊ฐ์ ์ ๊ทธ๋ฅ ์จ์ฃผ์๋ฉด ๋ฉ๋๋ค
๊ทธ๋ฌ๋ฉด 3~5๋ถ์ ๋ ํ์ 3์ด๋๊ฐ ๋ค์ด์ ์์๊ฑฐ์์!
๊ทธ๋ผ ์ด์ ์ง์ SmartContract๋ฅผ ๋ฐฐํฌํด ๋ณผ๊ฒ์!
Parity.exe๋ฅผ ์ฌ์ฉํ๋ค๋ฉด Ganache์ ๋น์ทํ ๋ฐฉ๋ฒ์ผ๋ก ์ปจํธ๋ํธ๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌํ ์๊ฐ ์๋๋ฐ,
์ค๋์ Remix IDE๋ฅผ ์ฌ์ฉํด์ ๋ฐฐํฌํ ๊ฑฐ์์.
์ ๊ฐ ํ์ ํ์ง๋ง ํจ์ฌ ํธํ๋ค๊ณ ๋๋ผ์ค ๊ฒ๋๋ค..........
์ ๋จผ์ ์ปจํธ๋ํธ๋ฅผ ๋ง๋ค์ด์ Kovan ๋คํธ์ํฌ์ ๋ฐฐํฌํด๋ณด๋๋ก ํ์ฃ !
์์์๋ ์ธ๊ธํ๋ฏ์ด Remix IDE๋ฅผ ์ฌ์ฉํด์ Kovan ๋คํธ์ํฌ์ ๋ฐฐํฌ๋ฅผ ํ ๊ฑฐ์์!
์! ์ ์ํ์ จ์ผ๋ฉด ์์ ๊ฐ์ ํ์ด์ง๊ฐ ๋์ฌํ ๋ฐ ์์ ๊ฐ์ด ๊ฐ๋จํ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์!
pragma solidity ^0.4.18;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
truffle unbox๋ก react ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ๋์ค๋ ๊ธฐ๋ณธ ์ฝ๋์์
๊ทธ๋ฅ ์ซ์๋ฅผ ๋ธ๋ก์ ์ ์ฅํ๊ณ ๊ฐ์ ธ์ค๋ ์ ๋ง ๊ฐ๋จํ ์์ฃผ์์ฃผ ๊ฐ๋จํ ์ฝ๋์
๋๋ค.
๋จผ์ ์ปจํ์ผ๋ฌ ๋ฒ์ ์ ์ ํํด์ฃผ์ธ์.
์๋ ์ปดํ์ผ์ด ๋๊ณ ์ด๋ ๊ฒ ์ค๋ฅ์์ด ๊น๋ํ๊ฒ ๋์ฌ๊ฑฐ์์
์์ ๋นจ๊ฐ์์ผ๋ก ํฌ์ธํธ ์ค๊ณณ์ ์ ํํ์๊ณ , ์ด์ Kovan ๋คํธ์ํฌ์ ๋ฐฐํฌ๋ฅผ ํ๋ณด๊ฒ ์ต๋๋ค
faucet์์ Kovan๋คํธ์ํฌ ์ ์ฉ ์ด๋๋ฅผ ๋ฐ์ผ์
จ์ผ๋ฉด ๋ฉํ๋ง์คํฌ๋ฅผ Kovan๋คํธ์ํฌ์ ์ฐ๊ฒฐ์์ผ์ฃผ์ธ์!
๋ค์ Remix IDE ํ์ด์ง๋ก ๋์์์ ์๋์ ๊ฐ์ด Inject Web3๋ฅผ ์ ํํ์๋ฉด ์๋์ผ๋ก kovan ๊ณ์ข๊ฐ ์ฐ๋์ด๋๊ณ ,
Deploy๋ฅผ ํด๋ฆญํ์๋ฉด ๋๋์ด Kovan๋คํธ์ํฌ์ SmartContract๊ฐ ๋ฐฐํฌ๊ฐ ๋ฉ๋๋ค
์น์ธ์ ๋๋ฌ์ฃผ์๋ฉด ๋ฐฐํฌ๊ฐ ์๋ฃ๋ฉ๋๋ฟ ๋น์ฐํ ๊ฐ์ค๋น๋ ๋น ์ ธ๋๊ฐ๊ตฌ์!
์ ์ด๋ฏธ์ง์ฒ๋ผ ํธ๋์ญ์ ์ด ์ผ์ด๋๊ณ ์ ๊ธฐ ์จ์๋ ์ฃผ์๋ก ๋ค์ด๊ฐ์ ์ ๋ง ๋ฐฐํฌ๊ฐ ์๋์๋์ง ํ์ธ์ ํด๋ด ์๋ค!
์์ ๊ฐ์ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค๋ฉด ์ ์์ ์ผ๋ก ๋ฐฐํฌ๊ฐ ์๋๊ณ ๋ธ๋ก์ ์ปจํธ๋ํธ๊ฐ ์ ์ฅ์ด ๋๊ฑฐ์์!
Kovan ๋คํธ์ํฌ์ ์ฅ์ ์ ํธ๋์ญ์ ์ด ์ฒ๋ฆฌ๋๋ ์๊ฐ์ด ๋จ 4์ด์ ๋ถ๊ณผํ๋ค๋ ๊ฑฐ์ฃ . ์๋๊ฐ ๊ต์ฅํ ๋นจ๋ผ์ ํ ์คํธ๋ท์ผ๋ก ์ฌ์ฉํ๊ธฐ์ ์์ฃผ ์ ํฉํ๋ค๊ณ ํ ์์์ต๋๋ค ใ ใ
๋นจ๊ฐ์์ผ๋ก ํฌ์ธํธ ์ค ์ปจํธ๋ํธ ์ฃผ์๋ฅผ ํด๋ฆญํ์๋ฉด ์ด SmartContract์ ๋ํ ์ ๋ณด๊ฐ ๋์์!
์ฌ๊ธฐ์ ๋ฐฉ๊ธ ๋ฐฐํฌํ ์ด SmartContract์ ๋ํด Dapp์ ๋ง๋ค๊ธฐ ์ํด์ Code๋ถ๋ถ์ ABI์ฝ๋๊ฐ ํ์์ ์ด๋ ๋ณต์ฌํด์ ๋ฐ๋ก ๋ณด๊ดํด์ฃผ์ธ์
์ด์ ์ ํฌ๋ ์ด๋ ํ ํ๊ฒฝ์์๋ ์ด SmartContract๋ฅผ ์ฌ์ฉํ ์๊ฐ ์๊ฒ๋์์ต๋๋ค!!!!
์ ๋ Kovan ๋คํธ์ํฌ์ ์ฌ์ฉ๋ฒ์ ์ตํ๊ณ Ganache๋ฅผ ์ ์์ฐ๊ฒ ๋ฌ์ด์...ใ
ใ
ใ
ใ
ใ
ใ
ใ
๊ทธ๋ผ ๋ค์ํฌ์คํ ์์๋ ์ด ์ปจํธ๋ํธ์ ๋ํ ๊ฐ๋จํ ์น์ ๋ง๋ค์ด ๋ณด๋๋ก ํ ๊ฒ์