728x90
이전시간에 genesis.json을 이용하여 프라이빗 네트워크를 열어보았습니다. 이번시간에는 프라이빗 네트워크에서 대화형 javascript 콘솔 환경에서 사용할 수 있는 명령어를 알아보겠습니다.
console 환경 접속하기
우선 대화형 javascript 콘솔 환경 먼저 열도록 하겠습니다.
geth --datadir . --networkid 33 --http --http.port 8080 --http.api "admin,eth,db,personal,net,web3,txpool,miner" --nodiscover --snapshot=false console
마지막에 console을 입력하게 되면 geth를 실행하고 콘솔 환경에 접속하게 됩니다. 이 외에도 새로운 cmd 창을 이용하여 콘솔 환경에 접속할 수 있습니다. 위의 명령에서 console을 지우고 실행을 하면 네트워크가 열리게 되고 새로운 명령프롬프트 창을 열어줍니다.
실행을 하게 되면 위와 같이 많은 정보가 뜹니다. 그중에서 url를 찾아보면 별 다른 설정을 하지 않았다면 위와 같이 뜨게 됩니다. 저희는 attach를 이용하여 ipc통신을 통하여 위의 url에 접근을 할 것입니다. ipc에 대해서는 추후에 다루도록 하겠습니다.
geth attach ipc://./pipe/geth.ipc
혹은 네트워크를 열 때 --http.port를 통하여 port를 설정해 주었기 때문에 설정한 포트를 이용하여 아래의 명령으로도 접근이 가능합니다.
geth attach http://localhost:8080
console 명령어
- eth
- eth.accounts : 존재하는 계좌를 보여줍니다.
- eth.coinbase : 현재 채굴 보상을 받을 계좌를 보여줍니다.
- eth.blockNumber : 네트워크에서 생성된 블록의 수를 보여줍니다.
- eth.getBalance(계좌) : 소괄호 안에 있는 계좌의 잔액을 보여줍니다.
- eth.mining : 채굴이 진행 중인지 여부를 확인합니다.
- eth.sendTransaction({from : 보낼 계좌, to : 받을 계좌, value : web3.toWei(보낼 양, "ether")}) : 송금을 합니다.
- 예) eth.sendTransaction({from : eth.accounts[0], to : eth.accounts[1], value : web3.toWei(1, "ether")})
- eth.pendinTrasaction : 현재 진행을 기다리고 있는 트랜잭션을 확인합니다.
- miner
- miner.start() : 채굴을 시작합니다.
- miner.start(1) : 한 개의 스레드를 이용하여 채굴합니다.
- miner.stop() : 채굴을 정지합니다.
- miner.setEtherbase(계좌) : coinbase를 계좌로 설정합니다.
- admin
- admin.nodeInfo : admin의 node정보를 보여줍니다.
- admin.peers : admin에 연결된 peer를 보여줍니다.
- net
- net.peerCount : 네트워크에 연결된 peer의 수를 확인합니다.
- txpool
- txpool.inspect : 채굴을 기다리는 트랜잭션 pool을 확인합니다.
- txpool.status : 트랜잭션 pool의 개수를 확인합니다.
- personal
- personal.newAccount() : 계정을 생성합니다. 명령어를 입력하면 비밀번호를 2번 입력하게 됩니다.
- personal.unlockAccount(계좌) : 계좌의 잠금을 해제합니다. 트랜잭션을 발생시키기 위하여 해제해야 합니다.
위의 명령어를 통하여 채굴과 송금등을 테스트해 볼 수 있습니다. 다음 시간에는 사설 네트워크에 멀티 노드를 접속하는 내용을 다루어보겠습니다.
728x90