의견.png

Web3.js

위키원
Asadal (토론 | 기여)님의 2019년 7월 5일 (금) 17:03 판 (같이 보기)
이동: 둘러보기, 검색
Web3.js로고
Web3.js로고와 글자

Web3.js는 서버가 없는 혁신적인 인터넷 분산형 웹이다. 자바스크립트(JavaScript) 기반으로 디앱(DApp)이나 서비스를 구현할 때 매우 유용하며, 내부적으로 HTTP 또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다.

DApp Web 구조(DApp Web)

개요

Web3.js란 JSON-RPC (JSON을 데이터 포멧으로 사용하여 다른 원격 응용 프로그램과 통신할 수 있도록 하는 API) 스펙을 구현한 이더리움 자바스크립트 API이다. 즉, JSON-RPC 스펙에 대한 처리를 Web3.js에 맡기고, JSON-RPC가 아닌 자바스크립트로 DApp(Decentralized application)을 개발할 수 있도록 지원하는 라이브러리이다. Web3.js는 JavaScript 기반으로 작성되어 있다. JSON-RPC만으로 충분히 이더리움을 사용할 수는 있지만, 응용 프로그램을 개발하는 입장에서 JSON-RPC는 조금 불편할 수 있다. Web3.js는 JSON-RPC를 호출해 주는 라이브러리로써 더 쉽게 응용 서비스나 Dapp을 구현할 수 있도록 한다.[1]

기능

이더리움 네트워크는 노드로 구성되어 있고, 각 노드는 블록 체인의 복사본을 가지고 있다. 만약, 스마트 컨트렉트의 함수를 실행하고자 한다면 노드에 질의를 보내 1.스마트 컨트렉트의 주소 2.실행할 함수 3.함수에 전달할 변수들 을 전달해야한다. 이더리움 노드들은 JSON-RPC로만 소통할 수 있고, 이는 개발자에게는 불편한 일이기 때문에 web3.js는 질의를 알지 못하는 개발자들도 쉽고 편리하게 자바스크립트 인터페이스로 상호작용할 수 있도록 해 준다.

모듈

web3-eth| 이더리움 블록 체인 및 스마트 컨트렉트와 상호 작용하는 데 사용되는 모듈 클래스.

web3-shh| 프로토콜에 p2p 및 브로드캐스트을 전달하는 데 사용하는 모듈 클래스.

web3-bzz| 분산된 파일 저장을 위한 모듈 클래스.

web3-utils| DApp 개발자를 위한 유용한 도무미 기능이 포함된 모듈 클래스. [2]

사용 방법

NPM | NPM 패키지 사용하여 web3.js 추가 (npm install web3)

Browser| Browser 사용하여 web3.js 추가 (bower install web3)

github사용하여 설치| github repository에서 소스 코드를 다운로드 하여 프로젝트에 추가하여 사용

각주

  1. web3.js 라이브러리란〉, 《MYCRYPTOPEDIA》
  2. web3.js 시작

참고자료

같이 보기


  의견.png 이 Web3.js 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.