๋ธ๋ก์ฒด์ธ์์์ RPC ์๋ฒ
๋ธ๋ก์ฒด์ธ ์ปจํ ์คํธ์์ RPC ์๋ฒ๋ ๋ธ๋ก์ฒด์ธ ๋ ธ๋์ ์ํธ์์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ๋ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ํธ๋์ญ์ ์ ์ ์กํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์๋ค. ์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ์์๋ geth์ ๊ฐ์ ํด๋ผ์ด์ธํธ๊ฐ RPC ์๋ฒ๋ฅผ ํตํด ๋ค์ํ API๋ฅผ ์ ๊ณตํ๋ค.
์ด๋๋ฆฌ์์์์ RPC ์๋ฒ ์ค์
์ด๋๋ฆฌ์ ํด๋ผ์ด์ธํธ์ธ Geth๋ฅผ ์ฌ์ฉํ์ฌ RPC ์๋ฒ๋ฅผ ์ค์ ํ ์ ์๋ค. Geth๋ ๋ค์ํ RPC API๋ฅผ ์ ๊ณตํ์ฌ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ํธ์์ฉํ ์ ์๋๋ก ํ๋ค.
# geth --datadir . --unlock 0,1,2 --rpc --rpcaddr "0.0.0.0" --rpcport 8545 -–rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" --rpccorsdomain "*" console --networkid 5696
๊ฐ ์ต์ ์ค๋ช
- --datadir .: ๋ธ๋ก์ฒด์ธ ๋ฐ์ดํฐ์ ์ค์ ํ์ผ์ ์ ์ฅํ ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ฌ ๋๋ ํ ๋ฆฌ๋ก ์ค์
- --unlock 0,1,2: ์์ ์์ ํน์ ๊ณ์ ์ ์ธ๋ฝํฉ๋๋ค. ๊ณ์ 0, 1, 2๋ฅผ ์ธ๋ฝ
- --rpc: HTTP-RPC ์๋ฒ๋ฅผ ํ์ฑํ
- --rpcaddr "0.0.0.0": HTTP-RPC ์๋ฒ๊ฐ ๋ชจ๋ IP ์ฃผ์์์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ์ค์
- --rpcport 8545: HTTP-RPC ์๋ฒ๊ฐ ์ฌ์ฉํ๋ ํฌํธ๋ฅผ 8545๋ก ์ค์
- --rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3": RPC ์๋ฒ์์ ์ฌ์ฉํ ์ ์๋ API ๋ชฉ๋ก์ ์ค์
- admin: ๋ ธ๋ ๊ด๋ฆฌ API
- db: ๋ ๋ฒจ DB๋ฅผ ์ง์ ๋ค๋ฃฐ ์ ์๋ API
- eth: ์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ ๊ด๋ จ API
- debug: ๋๋ฒ๊ทธ ๊ด๋ จ API
- miner: ์ฑ๊ตด ๊ด๋ จ API
- net: ๋คํธ์ํฌ ๊ด๋ จ API
- shh: ์ผ์คํผ(Whisper) ํ๋กํ ์ฝ ๊ด๋ จ API
- txpool: ํธ๋์ญ์ ํ ๊ด๋ จ API
- personal: ๊ฐ์ธ ๊ด๋ฆฌ ๊ด๋ จ API (๊ณ์ ๊ด๋ฆฌ ๋ฑ)
- web3: Web3 ๊ด๋ จ API
- --rpccorsdomain "*": CORS ์ค์ ์ ๋ชจ๋ ๋๋ฉ์ธ์ ๋ํด ํ์ฉ (๋ณด์์์ ์ด์ ๋ก ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ ํ๋ ๋๋ฉ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.)
- console: Geth ์ฝ์์ ์คํ
- --networkid 5696: ๋คํธ์ํฌ ID๋ฅผ 5696์ผ๋ก ์ค์ ํ์ฌ ํน์ ์ด๋๋ฆฌ์ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ. ์ด ID๋ ํ๋ผ์ด๋น ๋คํธ์ํฌ๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ
๊ณ์ ์ธ๋ฝ(unlock) ์ค๋ฅ ๋ฐ์
์ด ์ค๋ฅ๋ Geth์์ HTTP-RPC ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ณ์ ์ ์ธ๋ฝํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ๋ค. Geth๋ ๋ณด์์์ ์ด์ ๋ก HTTP-RPC๋ฅผ ํตํด ๊ณ์ ์ ์ธ๋ฝํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฉํ์ง ์๋๋ค. ์ด๋ ์ ์์ ์ธ ๊ณต๊ฒฉ์๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด ๊ณ์ ์ ์ธ๋ฝํ๊ณ , ํธ๋์ญ์ ์ ์ ์กํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์กฐ์น์ด๋ค.
Geth์์๋ HTTP-RPC ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ณ์ ์ ์ธ๋ฝํ ์ ์๋๋ก ํ์ฉํ๋ ์ต์ ์ผ๋ก --allow-insecure-unlock์ ์ฌ์ฉํ ์ ์๋ค. '--unlock 0,1,2' ๋์ ์ด ์ต์ ์ ์ฌ์ฉํด์ ๋น์ฅ ์ค๋ฅ๋ ๋์ด๊ฐ ์ ์๋ค. ํ์ง๋ง ์ด ์ต์ ์ ๋งค์ฐ ์ํํ ์ ์์ผ๋ฏ๋ก, ๋ฐ๋์ ๊ฐ๋ฐ ํ๊ฒฝ์์๋ง ์ฌ์ฉํ๊ณ , ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
RPC ์๋ฒ ์คํ
# geth attach “rpc:http://localhost:8545”
์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ PRC ์๋ฒ ์ ์
Environment ๋ฅผ Web3 Provider๋ก ๋ณ๊ฒฝ ํ ๋ก์ปฌ ํธ์คํธ๋ฅผ ์ ๋ ฅ
๊ธฐ์กด์ ์์ฑํ ๊ณ์ ๋ค์ด ์ฌ๋ผ์จ ๊ฒ์ ํ์ธํ๋๋ฐ๊น์ง๋ ์๋ฃํจ
'๐๏ธ Project > BlockChain' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ธ๋ก์ฒด์ธ ์ค์ต] ์๋ฆฌ๋ํฐ ์ธ์ด๋ก ํฌํ ๊ธฐ๋ฅ ์ปจํธ๋ํธ ์์ฑ (1) | 2024.06.19 |
---|---|
[๋ธ๋ก์ฒด์ธ ์ค์ต] ์ด๋๋ฆฌ์ ๊ฐ์ํํ ๋ง๋ค๊ธฐ (2) | 2024.06.04 |