본문 바로가기
비트코인

블록체인 애플리케이션 개발 실전 입문 : Solidity를 이용한 이더리움 스마트 계약 구현 (위키북스 해킹 & 보안 시리즈 11) 2장-5

by 자유코딩 2018. 3. 31.
블록체인 애플리케이션 개발 실전 입문 : Solidity를 이용한 이더리움 스마트 계약 구현 (위키북스 해킹 & 보안 시리즈 11) 2장-5

 

Ether 송금

 

 

from에 보내는 주소 , to에 받는 주소 , value 에 송금액을 wei 단위로 적는다.

 

송금을 실행하면 오류가 발생합니다.

 

트랜잭션의 발행은 유료이고 , 잘못된 실행을 방지하기 위해서 항상 잠금상태입니다.(from 에 지정된 주소가 수수료를 냅니다.)

 

트랜잭션을 발행할때 잠금을 해제해야 하기 때문에 오류가 발생합니다.

 

 

3가지 방법으로 계정의 잠금을 해제 할 수 있습니다.

 

첫번째는 명령을 실행하고나서 비밀번호를 입력하는 방법입니다.

 

두번째는 명령에 비밀번호를 함께 입력하는 방법입니다.

 

세번째는 명령에 비밀번호를 함께 입력하고 Geth 프로세스가 종료될때까지 잠금 해제상태를 유지하는 방법입니다.

 

계정 잠금해제의 유효시간은 기본적으로 300초입니다.

 

 

다시 송금 명령을 실행합니다.

 

 

트랜잭션 문자열을 getTransaction 에 입력하면 트랜잭션의 정보를 알 수 있습니다.

 

현재 진행중인 트랜잭션을 표시한 화면입니다.

 

blockNumber 가 null 이라는 것은 블록에 포함되지 않았다 , 미처리(=계류중) 이라는 뜻이다.

 

eth.pendingTransactions 로 현재 처리되지 않은 트랜잭션들을 확인 할 수 있습니다.

 

잠시 기다리면 미처리 트랜잭션이 사라지고 처리된 것을 확인 할 수 있습니다.

 

 

eth.pendingTransactions 명령을 입력 했을 때, [] 가 출력 되는 것을 확인 할 수 있습니다.

 

트랜잭션이 모두 처리된 것입니다.

 

eth.getBalance(eth.accounts[0]) , eth.getBalance(eth.accounts[1]) 명령을 실행하면 잔고를 확인 할 수 있습니다.

 

블록을 확인하는 명령어도 있습니다.

 

다음 글에서는 트랜잭션 수수료에 대해서 알아보도록 하겠습니다.

 

댓글