Infura
이더리움 네트워크에는 JSON-RPC를 사용하여 이더리움 노드에 접속하는데에는 다양한 방법이 있다. 이전에 실습했던 '이더리움 EVM과 Solidity'에서 Geth를 사용해 스마트 컨트랙트 빌드하기로 컨텐츠를 확인 했듯이, 이더리움 클라이언트 소프트웨어인 Geth 또는 Parity를 사용하여 이더리움 노드를 실행할 수 있다. 그러나, 이더리움 블록체인에서 블록을 동기화해야 하기 때문에 많은 데이터를 다운로드 받아야 한다는 불편한 점이 있다. Infura는 원격 이더리움 노드를 통해 이더리움 네트워크에 접근할 수 있게 해주는 서비스이다. 여기서는 RPC URL과 API Key를 제공하기 때문에, 직접 이더리움 네트워크에 접근하여 블록을 동기화하지 않아도 네트워크에 접근할 수 있다.
infura.io
접속
Infura에서는 HTTP 요청을 보내 이더리움 네트워크와 상호 작용 할수 있다. 간단하게 터미널 창에서 curla로 HTTP 요청을 보내보자.
$ curl https://ropsten.infura.io/v3/{자신의 API Key} \
-X POST \
-H "Content-type: application/json" \
-d '{jsonrpc": "2.0", "method": "eth_getBalance", "params": ["{자신의 메타므스크 계정 주소}", "latest"], "id":1}'
이 명령어로 원격 이더리움 노드를 통해 특정 계정 주소의 잔액을 확인하는 요청이다.
result
로 16진수의 값이 출력되었는데, 이것은 계정의 잔액을 wei 단위로 표시한 것이다.