API

chris0205.eth·2022년 1월 24일
0

목록 보기
3/4

라이브러리

라이브러리는 함수들의 집합이라고 할 수 있는데 미리 만든 함수를 모아놓은 곳을 말한다. 이러한 함수들을 사용하기 위해선 API가 필요하다. 그렇다면 API란 무엇일까?

API

라이브러리에 접근하기 위한 규칙들을 정의한 것을 API라고 한다. Application Program Interface 즉, 프로그래머가 라이브러리에서 제공하는 여러 함수를 이용하여 프로그램을 작성할때 해당 함수의 내부구조는 알 필요없이 단순히 API에 정의된 입력 값을 주고 결과 값을 사용할 수 있게 해준다.

쉽게 이해해보자면, 식당을 비유해볼 수 있다. 주방을 라이브러리, 메뉴판을 API, 프로그래머를 손님, 마지막으로 직원은 이를 연결해주는 역할을 한다고 볼 수 있다. 손님은 식당에서 메뉴판을 보고 음식을 골라 직원에게 주문한다. 직원은 주문받은 메뉴를 주방으로 전달하고 주방에선 전문요리사들이 요리를 해서 손님의 앞으로 나오게 된다.

세상에는 많은 식당과 메뉴가 있듯 프로그래머들에게도 많은 라이브러리와 API가 존재한다.

Open API

누구나 사용할 수 있도록 공개된 API 이다.
대부분 무료이지만 종류에 따라 호출 수에 제한을 두거나 초과사용을 원할 경우 별도 비용을 받기도 한다.

네이버, 카카오, 구글, 페이스북을 포함한 플랫폼 기업은 지도, 음악, 비즈니스, 날씨, 쇼핑, 누리소통망 서비스(SNS) 등 다양한 데이터를 오픈 API 방식으로 제공하고 있다. 국가도 전국 공공시설 정보나 대중교통 운행 정보와 같은 데이터를 공공 API로 개방한다.


web3.js

HTTP, IPC(interprocessor communication), 또는 웹소켓을 이용해 이더리움 노드에 접근할 수 있도록 해주는 라이브러리 모음이다. Javascript 기반으로 Dapp이나 서비스를 구현할 때 매우 유용하다.

쉽게 말해서 JSON RPC 스펙에 대한 처리를 web3.js에게 맡기고, JSON RPC가 아닌 Javascript로 Dapp을 개발할 수 있도록 지원하는 라이브러리이다.
web3.js 는 github/ethereum/web3.js 의 dist 내에 있는 web3.js 를 받아도 되지만, Browser 에서 사용하려면 bower 를 사용하거나 Node.JS 를 사용한다면 npm(node package manager) 을 사용하면 된다.


결론

Dapp에 대해 알아보면서 듣기만 많이 듣고 보기만 많이 봤던 API에 대한 개념을 명확히 잡을 수 있었고, web3.js란 API가 dapp 개발을 위해서 거의 필수적으로 필요하단 것을 체감했다.
JS 공부와 블록체인 공부를 좀 더 열심히 해서 smart contract 전문가가 되어보겠다 !

profile
long life, long goal

0개의 댓글