"Web3.js"의 두 판 사이의 차이
aktkekfekdus (토론 | 기여) |
aktkekfekdus (토론 | 기여) |
||
1번째 줄: | 1번째 줄: | ||
− | '''Web3.js'''는 서버가 없는 혁신적인 인터넷 분산형 웹이다. JavaScript 기반으로 DApp 이나 서비스를 구현할 때 매우 유용하며, 내부적으로[[HTTP]] 또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다. | + | '''Web3.js'''는 서버가 없는 혁신적인 인터넷 분산형 웹이다. JavaScript 기반으로 DApp(Decentralized application) 이나 서비스를 구현할 때 매우 유용하며, 내부적으로 [[HTTP]]또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다. |
== 개요 == | == 개요 == | ||
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)을 개발할 수 있도록 지원하는 라이브러리이다. | ||
12번째 줄: | 12번째 줄: | ||
이더리움 네트워크는 노드로 구성되어 있고, 각 노드는 블록 체인의 복사본을 가지고 있다. 만약, 스마트 컨트렉트의 함수를 실행하고자 한다면 노드에 질의를 보내 1.스마트 컨트렉트의 주소 2.실행할 함수 3.함수에 전달할 변수들 을 전달해야한다. 이더리움 노드들은 JSON-RPC로만 소통할 수 있고, 이는 개발자에게는 불편한 일이기 때문에 web3.js는 질의를 알지 못하는 개발자들도 쉽고 편리하게 자바스크립트 인터페이스로 상호작용할 수 있도록 해 준다. | 이더리움 네트워크는 노드로 구성되어 있고, 각 노드는 블록 체인의 복사본을 가지고 있다. 만약, 스마트 컨트렉트의 함수를 실행하고자 한다면 노드에 질의를 보내 1.스마트 컨트렉트의 주소 2.실행할 함수 3.함수에 전달할 변수들 을 전달해야한다. 이더리움 노드들은 JSON-RPC로만 소통할 수 있고, 이는 개발자에게는 불편한 일이기 때문에 web3.js는 질의를 알지 못하는 개발자들도 쉽고 편리하게 자바스크립트 인터페이스로 상호작용할 수 있도록 해 준다. | ||
== 모듈 == | == 모듈 == | ||
− | '''web3-eth'''| | + | '''web3-eth'''| 이더리움 블록 체인 및 스마트 컨트렉트와 상호 작용하는 데 사용되는 패키지다. |
− | '''web3-shh'''| | + | '''web3-shh'''| 프로토콜에 p2p 및 브로드캐스트을 전달하는 데 사용된다. |
− | '''web3-utils'''| | + | '''web3-bzz'''| 분산된 파일 저장을 위한 패키지다. |
+ | |||
+ | '''web3-utils'''| DApp 개발자를 위한 유용한 도무미 기능이 포함된 패키지다. | ||
== 사용 방법== | == 사용 방법== |
2019년 6월 26일 (수) 13:03 판
Web3.js는 서버가 없는 혁신적인 인터넷 분산형 웹이다. JavaScript 기반으로 DApp(Decentralized application) 이나 서비스를 구현할 때 매우 유용하며, 내부적으로 HTTP또는 IPC 를 통해 JSON-RPC API를 호출하도록 되어있다. 현재는 EthereumJ 도 Web3.js를 지원하는 작업을 하고 있다.
개요
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 개발자를 위한 유용한 도무미 기능이 포함된 패키지다.
사용 방법
NPM 패키지 사용하여 web3.js 추가| npm install web3
Browser 사용하여 web3.js 추가| bower install web3
github사용하여 설치| github repository에서 소스 코드를 다운로드 하여 프로젝트에 추가하여 사용
각주
- ↑ 〈web3.js 라이브러리란〉, 《MYCRYPTOPEDIA》
참고자료
- 〈web3.js〉, 《Loom》
같이 보기
이 문서는 로고가 필요합니다.