Web3.js(이더리움 자바스크립트 API)

전진영·2022년 3월 4일
0

Web.js

Web.js라는 것은 무엇일까 우리는 Ethereum을 통해 어디까지 전진해 나갈 수 있을것인가..
오늘은 DApp을 만들때 스마트컨트렉트를 만들때 빠질 수 없는 Web.js를 공부해 볼 생각이다.

web3 불러올 때
var Web3 = require('web3');

Ethereum 네트워크는 여러 사용자(EOA)들이 연결되어있습니다. 또한 특정 역할을 수행하는 smart contract들로 구성되어있죠. 우리가 이 smart contract를 실행하기 위해서는 아래의 내용들을 전송해야합니다.

스마트 컨트랙트의 주소
실행하고자 하는 함수, 그리고
그 함수에 전달하고자 하는 변수들

이더리움 노드들은 JSON-RPC라고 불리는 언어로만 소통할 수 있기 때문에, 이는 일반적으로 사람들이 읽고 분석하기에는 굉장히 어렵습니다. 예시를 보여드리겠습니다.

//JSON_RPC example
{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0xa89e8ea54c3d12ba8054cbcab988870e02923434","to":"0xd46e8dd67c5d32be8058bb8eb970870f02335324","gas":"0x76c0","gasPrice":"0x9184e72a000","value":"0x9184e72a","data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8c23e54eb970870f072445675058bb8eb970870f072445675"}],"id":1}

우리가 DApp을 만들기 위해서는 해당 서비스를 이용하는 사람들간의 smart contract를 통해 거래, 혹은 ether 획득 등을 handling해야하는데 JSON-RPC를 통해 모든 것을 구현하자니 머리가 아픕니다.
그래서 Web3 js라는 녀석이 등장하였습니다. 이름에서 알 수 있 듯이 JavaScript 기반 모듈이죠.
(Web3 j라고 Java 기반도 존재합니다.)
DApp 생태계를 그림으로 표현하면 다음과 같습니다.

profile
코딩어린이

0개의 댓글