๋ก์ปฌ ํ ์คํธ๋ท์์ Geth๊ธฐ๋์ ์ํด ๋ค์ ๋๊ฐ์ง๋ฅผ ์ค๋นํ๋ค.
๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ์ ์ก์์ ํ ๋ธ๋ก ๋ฐ์ดํฐ์ ๊ณ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
์ง์ ํ์ง ์์ผ๋ฉด '~/.ethereum'์ด ๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ๊ฐ ๋๋ค.
๋๋ ํฐ๋ฆฌ๊ฐ ์คํ์๋ ๋ฌด๋ฐฉํ๋ค.
๋ค์๊ณผ ๊ฐ์ด 'test_data' ํด๋๋ฅผ ๋ง๋ ๋ค.
cmd(๋ช
๋ น ํ๋กฌํํธ)๋ฅผ ์ด์ฉํ์ฌ ์คํํด๋ณธ๋ค.
cmd๋ ๊ด๋ฆฌ์์ ๊ถํ์ผ๋ก ์คํํ๋ค.
help๋ฅผ ์
๋ ฅํ๋ฉด ๊ฐ๋จํ๊ฒ ๋ช
๋ น์ด๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฅ ์๋์ฐ ์์์ ํด๋๋ฅผ ๋ง๋ค์ด๋ด๋ ๋์ง๋ง cmd ์ฐฝ์์ ๋ช
๋ น์ด๋ก ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
๋ฐํํ๋ฉด์ผ๋ก ์ด๋ ํ
๋ณด์๋ ๋ฐ์ ๊ฐ์ด 'mkdir'๋ช
๋ น์ด๋ก ํด๋๋ฅผ ์์ฑ ํ ๋ง๋ ํด๋๋ก ์ด๋ํ๋ค.
'copy con' ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด genesis.json ํ์ผ์ ๋ง๋ ๋ค.
genesis ๋ธ๋ก(0๋ฒ์งธ)์ ์ ๋ณด๊ฐ ์ ์ฅ๋ jsonํ์์ ํ์ผ์ด๋ค.
๋ฉ๋ชจ์ฅ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ ๋ด์ฉ์ ๋ณต์ฌ ํ ์ปจํธ๋กค+Z ํค ๋๋ฅด๊ณ ์ํฐ๋ฅผ ๋๋ฅธ๋ค.
(์ฐธ๊ณ ๋ก ๋ถํ๋ฃ๊ธฐ๋ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ)
{
โnonceโ: โ0x0000000000000042โ,
โmixhashโ: โ0x0000000000000000000000000000000000000000000000000000000000000000โ,
โdifficultyโ: โ0x400โ,
โallocโ: {},
โcoinbaseโ: โ0x0000000000000000000000000000000000000000โ,
โtimestampโ: โ0x0โ,
โparentHashโ: โ0x0000000000000000000000000000000000000000000000000000000000000000โ,
โextraDataโ: โ0xโ,
โgasLimitโ: โ0xffffffffโ,
โconfigโ: {
โchainIdโ: 4224,
โhomesteadBlockโ: 0,
โeip155Blockโ: 0,
โeip158Blockโ: 0
}
}
'type genesis.json' ๋ช
๋ น์ด๋ฅผ ํตํด ๋ด์ฉ์ด ์ ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ
์คํธ๋ท์ ๊ตฌ์ถํ ๊ฒฝ์ฐ 0๋ถํฐ ๋ธ๋ก์ฒด์ธ์ ๋ง๋ค์ด ๊ฐ๋ฏ๋ก Genesisํ์ผ์ด ํ์ํ๋ค.
์์ ๊ฐ์ด ๋ค ์ค๋น๋์๋ค๋ฉด ์ด์ ์ด๊ธฐํ๋ฅผ ํด๋ณด์!
์์ฑํ ๋๋ ํ ๋ฆฌ ๋ด์์ ์ด๊ธฐํ๋ฅผ ์๋์ ๊ฐ์ด ํด์ค๋ค.
geth --datadir C:\Users\Ian\Desktop\test_data init C:\Users\Ian\Desktop\test_data\genesis.json
๊ฒฝ๋ก๋ ์ปดํจํฐ๋ง๋ค ํ๊ฒฝ์ ๋ง๊ฒ ํ์๊ธธ
tree ๋ช ๋ น์ด๋ฅผ ํตํด geth ํด๋ ๋ด์ chaindata, lightchaindata ์ keystore๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๊ธฐํ๊ฐ ์๋ฃ๋๋ฉด Geth๋ฅผ ์คํํด๋ณด๋๋ก ํ๋ค.
geth --networkid 5959 --nodiscover --maxpeers 0 --datadir C:\Users\Ian\Desktop\test_data console 2>> C:\Users\Ian\Desktop\test_data\geth.log
networkid 5959
0~3์ ์์ฝ๋ ์ซ์๋ผ ๊ทธ ๋ฐ์ ์ ์ 5959๋ฅผ ์
๋ ฅํด ๋ณด์์ต๋๋ค.
0 = Olympic(disused), 1 = Frontier, 2 = Morden(disused), 3 = Ropsten) (default : 1)
nodiscover
์์ฑ์์ ๋
ธ๋๋ฅผ ๋ค๋ฅธ ๋
ธ๋์์ ๊ฒ์ํ ์ ์๊ฒํ๋ ์ต์
์
๋๋ค.
๋
ธ๋์ถ๊ฐ๋ ์๋์ผ๋ก ํด์ฃผ๊ณ ์, ์ง์ ํ์ง ์์ผ๋ฉด ๋์ผํ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ ์์ฑ์์ ์ฐ๊ฒฐ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
maxpeers 0
์์ฑ์์ ๋
ธ๋์ ์ฐ๊ฒฐํ ์ ์๋ ๋
ธ๋์ ์๋ฅผ ์ง์ ํฉ๋๋ค.
datadir ์ฃผ์
๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ ์ง์ ์
๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํด์.
ํ๊ฒฝ์ ๋ง๊ฒ ์ง์ ํ์๋ฉด ๋ฉ๋๋ค.
console
์ฝ์์ ๊ฐ๋ํฉ๋๋ค.
C:\Users\Ian\Desktop\test_data\geth.log
๋ก๊ทธ ํ์ผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ์ต์ ์ ๋๋ค. ์๋ฌ๋ฅผ ํด๋น ๊ฒฝ๋ก ํ์ผ์ ์ ์ฅํฉ๋๋ค.
Geth ์ฝ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ EOA๋ฅผ ๋ง๋ญ๋๋ค.
personal.newAccount("hiyo0")
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ๊ณ์ ์ ์์ฑํฉ๋๋ค.
"hiyo0"์ ์ํธ์ ๋๋ค. ์ค์ ํ๊ฒฝ์์๋ ๋ณด์์ ๊ณ ๋ คํด ์ ์ ํ๊ฒ ์ค์ ํฉ๋๋ค.
์ด๋๋ฆฌ์์๋ EOA(Externally Owned Account)์ Contract
๋ ์ข
๋ฅ์ ๊ณ์ ์ด ์์ต๋๋ค.
EOA๋ ์ผ๋ฐ ์ฌ์ฉ์ ๊ณ์ ์ผ๋ก ๋น๋ฐํค๋ก ๊ด๋ฆฌ ๋๊ณ
Ether๋ฅผ ์ก๊ธํ๊ฑฐ๋ ๊ณ์ฝ์ ์คํํ ์ ์์ต๋๋ค.
Contract ๊ณ์ ์ ๊ณ์ฝ์ฉ ๊ณ์ ์ผ๋ก ๋ธ๋ก์ฒด์ธ์ ๋ฐฐํฌํ ๋
๋ง๋ค์ด์ง๋ ๊ณ์ ์ผ๋ก ๋ธ๋ก์ฒด์ธ์ ์กด์ฌํฉ๋๋ค.
์ค๋์ ํ
์คํธ ๋คํธ์ํฌ์์ Geth๋ฅผ ์คํํ๊ณ ๊ณ์ ์ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ๋ดค์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค~