상세 컨텐츠

본문 제목

Geth 트랜잭션 생성과 채굴 (PoW 버전 geth)

Blockchain/Ethereum

by Yongari 2023. 2. 4. 18:01

본문

 

 

 

1. 이더 송금과 트랜잭션 및 블록 정보 확인

 

1. eth.pendingTransactions은 처리해야할 트랜잭션 목록을 의미함

2. account0에서 account1로 1 이더를 전송하기

다음 커맨드로 1 이더를 전송합니다.

 

 

from : 트랜잭션을 보내는 계정 주소

to : 수신자 계정 주소

value: 전송할 금액

data: 전송할 메시지

web.toHex: 인자로 주어진 16진수 값으로 변환한다. 문자열은 UTF-8로 표현

 

3. "eth.pendingTransactions"를 확인해보기

 

 

 

 

4. 이더를 전송받은 account1의 잔액을 확인합니다. 테스트를 하면서 여러 번 보내서 원래 이더 365개에서 371개까지 늘었습니다.

 



5. 가장 최근의 Transaction은 다음 커맨드로 확인 가능합니다.

eth.getTransaction("0xa60f77f8ea648ff5a8a27314c774171b50f0037a4f9cff829b6c1ba79e663b0e")

//eth.getTransaction("트랜잭션 해시값")

 

 

 

 

6. 위에서 확인한 트랜잭션에서 블록번호를 가지고 다음과 같이 조회도 가능합니다.

 

블록넘버를 이용해 다음 커맨드로 트랜잭션도 조회가능합니다.

 

eth.getTransactionFromBlock(507)

//eth.getTransactionFromBlock(조회할 블록넘버)

 

 

 

 

2. 송금 수수료 확인

eth.accounts[0]의 이더 잔고를 확인해보면 트랜잭션 수수료가 빠져나가지 않은 것을 확인할 수 있습니다.

왜 수수료가 출금되지 않았을까요?실은 송금 수수료가 출금되고 트랜잭션을 담은 블록의 채굴자에게 돌아갑니다. 따라서 송금을 한 뒤 수수료가 원래 채굴자인 account0에게 갔기 때문에 송금수수료가 출금되지 않은 것처럼 보인 것이죠.

 

 

 

3. 가스

 

3-1 정의
가스란
말 그대로 연료를 의미하며 이더리움 네트워크 서비스를 사용하는데 지불하는 수수료 개념입니다.

가스비는 이더리움 채굴자들이 채굴에 대한 보상으로 가져갑니다. 가스는 트랜잭션을 생성하는 사용자가 직접 설정할 수 있습니다. 

 

 

3-2 가스비 계산하기

기본적으로 가스비는 다음과 같이 계산합니다.

 

Gas Fee (가스비) = Gas Price(가스 가격) X Gas Limit (가스 한도)

 

 

3-3 가스가격 
가스비는 트랜잭션을 실행할 때 Opcode 연산단위로 소모되고 이 연산단위별로 소모되는 가스의 양은 미리 정해져있음, 가스 가격은 이더의 하위단위인 Gwei(기가웨이)를 사용하고 1,000,000,000 Gwei(10억 기가웨이) = 1ETH 이다.


3-4 가스 한도 

가스비 책정시 최대로 소모할 가스의 수를 정하는데 이것이 가스한도 

 

 

관련글 더보기