이전 글에서 트랜잭션을 이용하여 이더를 전송하였다
2022.08.23 - [프로그래밍/블록체인] - 이더리움 프라이빗 네트워크 만들고 MetaMask로 송금하기
이번에는 더 나아가 트랜잭션에 "hello erthereum" 메시지를 담아 보내보자
트랜잭션에서 data 필드에 데이터를 담아 보낼 수 있다
예시
eth_sendTransaction(from = '0xb117a8bc3ecf2c3f006b89da6826e49b4193977a',
data = '0x8f8a0d190000000000000000000000000000000000000000000000000000000
0000000060000000000000000000000000000000000000000000000000000000000000002')
eth_sendTransaction(from = '0xb117a8bc3ecf2c3f006b89da6826e49b4193977a',
to = '0x84159f53c71ef9e8df944225430da49371cbd67b', value = 10)
예시에 보이듯 data에는 hexadecimal character 형식을 사용해야 한다
형식 바꾸는 법
data = web3.toHex("hello ethereum")
트랜잭션 보내기
그럼 이제 데이터를 담아 트랜잭션을 보내보자
tx = {from: "현재 주소", to: "보낼 주소", value: 보낼 이더, data: 보낼 데이터}
트랜잭션을 보내고 트랜잭션 해시값을 tx_hash에 저장하였다
결과
트랜잭션 조회
해시 값을 이용하여 트랜잭션을 조회해보자
tx_detail = eth.getTransaction(tx_hash)
input값이 있는 것을 보아 데이터가 전송되었음을 알 수 있다
input값을 뜯어보자
web3.toAscii(tx_detail.input)
우리가 보낸 데이터가 잘 전송되었다
지갑 확인
이더가 잘 전송되었는지 확인해보자
먼저, 이더를 보내고 난 지갑의 잔고를 확인해보자
balance = eth.getBalance("현재 주소")
단위가 보기 어려우므로, 단위를 ether로 바꿔보자
web3.fromWei(balance, "ether")
전송한 50 이더 + 가스비가 빠져나가서 약 49.9 이더가 남았다
MetaMask지갑을 확인해보자
잘 전송되었다
'프로그래밍 > 블록체인' 카테고리의 다른 글
펀딩해보는 컨트랙트 만들어보기 (0) | 2022.08.26 |
---|---|
Remix와 Ganache로 컨트랙트 호출 & 배포 해보기 (0) | 2022.08.25 |
이더리움 프라이빗 네트워크 만들고 MetaMask로 송금하기 (0) | 2022.08.23 |