의견.png

"Web3.js"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
1번째 줄: 1번째 줄:
 +
'''Web3.js'''는 서버가 없는 혁신적인 인터넷 분산형 웹이다. [[자바스크립트]](JavaScript) 기반으로 [[디앱]](DApp)이나 서비스를 구현할 때 매우 유용하며, 내부적으로 [[HTTP]] 또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다.
 +
[[파일:DApp.png|썸네일|400픽셀|'''DApp Web 구조'''(DApp Web)]]
  
'''Web3.js'''는 서버가 없는 혁신적인 인터넷 분산형 웹이다. JavaScript 기반으로 DApp(Decentralized application) 이나 서비스를 구현할 때 매우 유용하며, 내부적으로 [[HTTP]]또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다.
 
[[파일:DApp.png|썸네일|400픽셀|'''DApp Web 구조'''(DApp Web)]]
 
 
== 개요 ==
 
== 개요 ==
 
Web3.js란 JSON-RPC ([[JSON]]을 데이터 포멧으로 사용하여 다른 원격 응용 프로그램과 통신할 수 있도록 하는 API) 스펙을 구현한 이더리움 자바스크립트 [[API]]이다. 즉, JSON-RPC 스펙에 대한 처리를 Web3.js에 맡기고, JSON-RPC가 아닌 자바스크립트로 DApp(Decentralized application)을 개발할 수 있도록 지원하는 라이브러리이다.
 
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는 JavaScript 기반으로 작성되어 있다. JSON-RPC만으로 충분히 이더리움을 사용할 수는 있지만, 응용 프로그램을 개발하는 입장에서 JSON-RPC는 조금 불편할 수 있다.  
 
Web3.js는 JSON-RPC를 호출해 주는 라이브러리로써 더 쉽게 응용 서비스나 Dapp을 구현할 수 있도록 한다.<ref name="web3.js">〈[https://www.translatoruser-int.com/translate?&to=ko&csId=58f5fbff-0021-4c7a-a89f-0b23d66fb6e1&usId=8475cb8f-6140-44d6-af6c-5f0e87401140&ref=SERP&refd=www.translatetheweb.com&dl=ko&ac=true&dt=2019%2F6%2F26%201%3A41&h=TqHncwMo7aib9Fydc1vXsXU2P4PRP-3L&a=https%3A%2F%2Fwww.mycryptopedia.com%2Fwhat-is-web3-js-a-detailed-guide%2F web3.js 라이브러리란]〉, 《MYCRYPTOPEDIA》</ref>
 
Web3.js는 JSON-RPC를 호출해 주는 라이브러리로써 더 쉽게 응용 서비스나 Dapp을 구현할 수 있도록 한다.<ref name="web3.js">〈[https://www.translatoruser-int.com/translate?&to=ko&csId=58f5fbff-0021-4c7a-a89f-0b23d66fb6e1&usId=8475cb8f-6140-44d6-af6c-5f0e87401140&ref=SERP&refd=www.translatetheweb.com&dl=ko&ac=true&dt=2019%2F6%2F26%201%3A41&h=TqHncwMo7aib9Fydc1vXsXU2P4PRP-3L&a=https%3A%2F%2Fwww.mycryptopedia.com%2Fwhat-is-web3-js-a-detailed-guide%2F web3.js 라이브러리란]〉, 《MYCRYPTOPEDIA》</ref>
 +
 
== 기능 ==
 
== 기능 ==
 
이더리움 네트워크는 노드로 구성되어 있고, 각 노드는 블록 체인의 복사본을 가지고 있다. 만약, 스마트 컨트렉트의 함수를 실행하고자 한다면 노드에 질의를 보내 1.스마트 컨트렉트의 주소 2.실행할 함수 3.함수에 전달할 변수들 을 전달해야한다. 이더리움 노드들은 JSON-RPC로만 소통할 수 있고, 이는 개발자에게는 불편한 일이기 때문에 web3.js는 질의를 알지 못하는 개발자들도 쉽고 편리하게 자바스크립트 인터페이스로 상호작용할 수 있도록 해 준다.
 
이더리움 네트워크는 노드로 구성되어 있고, 각 노드는 블록 체인의 복사본을 가지고 있다. 만약, 스마트 컨트렉트의 함수를 실행하고자 한다면 노드에 질의를 보내 1.스마트 컨트렉트의 주소 2.실행할 함수 3.함수에 전달할 변수들 을 전달해야한다. 이더리움 노드들은 JSON-RPC로만 소통할 수 있고, 이는 개발자에게는 불편한 일이기 때문에 web3.js는 질의를 알지 못하는 개발자들도 쉽고 편리하게 자바스크립트 인터페이스로 상호작용할 수 있도록 해 준다.
23번째 줄: 24번째 줄:
  
 
'''github사용하여 설치|''' github repository에서 소스 코드를 다운로드 하여 프로젝트에 추가하여 사용
 
'''github사용하여 설치|''' github repository에서 소스 코드를 다운로드 하여 프로젝트에 추가하여 사용
 
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
 
 
* 〈[https://cryptozombies.io/ko/lesson/6/chapter/1 web3.js]〉, 《Loom》
 
* 〈[https://cryptozombies.io/ko/lesson/6/chapter/1 web3.js]〉, 《Loom》
 
 
 
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 +
* [[자바스크립트]]
  
 
{{로고 필요}}
 
{{로고 필요}}
 
{{프로그래밍|토막글}}
 
{{프로그래밍|토막글}}

2019년 6월 29일 (토) 11:40 판

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 이 문서는 로고가 필요합니다.  

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