Search

Ethers.js가 무엇입니까?

  • Share this:
Ethers.js가 무엇입니까?

Ethers.js는

이더리움 블록체인을 위한 자바스크립트 라이브러리입니다. 이더리움 블록체인에서 스마트 컨트랙트를 작성, 배포, 실행 및 상호작용하는데 필요한 다양한 기능을 제공합니다.

 

Ethers.js는 이더리움 블록체인과

상호작용하는데 필요한 인터페이스를 제공합니다. 이더리움 블록체인과 상호작용하는데 사용되는  JSON-RPC API를 직접 호출하는 대신, Ethers.js는 이더리움 블록체인과의 상호작용을 더욱 쉽고 직관적으로 만들어줍니다.

blog-ethersjs-logo.png

1. 라이브러리 모듈

Ethers.js 모듈을 탐색하기 전에 먼저  JS 모듈이 무엇인지 간략하게 요약해보겠습니다. 모듈은 코드베이스를 더 잘 구성하기 위해 만들어진 함수 또는 유사한 함수들의 집합입니다. 또한, 모듈은 일반적으로 독립적이고 특정하며 재사용 가능합니다. 이제 모듈이 무엇인지에 대한 간략한 개요와 함께 Ethers.js로 바로 이동해 보겠습니다.

1b492670-de73-4492-9e5f-ad8a4ada1cb0-1.jpg

Ethers.js는 4개의 중앙 모듈을 갖추고 있습니다. "ethers.contract", "ethers.utils","ethers.wallets" 및 “ethers.provider”의 네 가지 중앙 모듈이 있습니다. 이러한 모듈은 ethers.js의 애플리케이션 프로그래밍 인터페이스(API)의 핵심입니다. 따라서 각 모듈을 개별적으로 분해하여 목적에 대한 간략한 개요를 살펴보겠습니다.

 

ethers.contract

“ethers.contract” 모듈의 핵심 목적은 이더리움 스마트 계약을 원활하게  배포할 수 있는 기능을 제공합니다. 예를 들어 "ethers.contract"를 사용하여 스마트 계약 이벤트, 호출 기능, 계약 관련 정보 쿼리 등을 수신할 수 있습니다.

 

ethers.utils

사용자 입력 처리 및 데이터 서식 지정에 "ethers.utils"를 사용할 수 있습니다. 이는 두 가지 중요한 웹3.0 개발 작업입니다. 즉, 이 모듈을 사용하면 블록체인 개발에 더 쉽게 접근할 수 있습니다.

 

ethers.wallet

“ethers.wallet” 모듈을 사용하면 기존 지급(이더리움 주소)에 쉽게 연결하고 새 지갑을 만들고 트랜잭션에 서명할 수 있습니다.

 

ethers.provider

“ethers.provider” 모듈을 사용하면 이더리움 네트워크와 원활하게 연결할 수 있습니다. 또한, 이 모듈을 활용하여 온체인 데이터를 쿼리하고 서명된 트랜잭션을 보낼 수 있습니다. 따라서 이 모듈을 통해 ethers.js로 이더리움 블록체인의 상태를 변경할 수 있습니다. 

 

그것은 ethers.js의 필수 요소를 다룹니다. 다음 내용에서는 web3.js를 자세히 살펴보고 이러한 라이브러리가 어떻게 다른지 알아보고 ethers.js를 고유하게 만드는 요소를 살펴보겠습니다.

 

2. Web3.js란 무엇입니까?

Web3.js는 ethers.js와 마찬가지로 이더리움 블록체인과의 원활한 상호 작용을 촉진하는 오픈 소스 JS 라이브러리입니다. 또한, 이더리움 재단은 Web3.js를 만들었습니다. 따라서 이 라이브러리에 가치를 더 하는 다소 광범위한 커뮤니티의 지원을 받습니다. 또한 Web3.js는 2015년 부터 사용되어 왔으며 이는 많은 저명한 프로젝트에서 사용되는 실전 테스트를 거친 라이브러리임을 의미합니다.

Web3.js는 JSON-RPC 프로토콜을 통해 이더리움 노드와의 통신을 설정합니다. 또한,  ethers.js와 마찬가지로 이 라이브러리에도 모듈이 있습니다. 특히 총 5개의 모듈이 있습니다.

 

web3.eth

이더리움 네트워크와 상호 작용하기 위한 모듈입니다. 또한, "web3.eth.contract", "web3.eth.subscribe", "web3.eth.accounts" 등과 같은 추가 하위 모듈을 제공합니다.

 

web3.net

web3.net을 사용하여 네트워크 속성과 상호 작용할 수 있습니다.

 

web3.shh

web3.shh 모듈을 사용하면 위스퍼 프로 토콜과 상호 작용할 수 있습니다.  
 

 

web3.utils

web3.utils 모듈은 이더리움 dApp 및 기타 패키지에 대한 유틸리티 기능을 제공합니다.

 

web3.utils

web3.utils 모듈은 이더리움 dApp 및 기타 패키지에 대한 유틸리티 기능을 제공합니다.

 

Ethers.js 및 web3.js의 개요를 기반으로 이러한 라이브러리가 매우 유사하고 유사한 목적을 수행한다는 것을 알 수 있습니다. 결과적으로 다음 내용에서는 두 가지를 비교하여 차이점을 강조합니다.  
 c71c5800-6a8c-11e9-9117-8ec357c9f69e.jpg

 3. Ethers.js vs Web3.js

여기까지 따라오셨다면 이제 Ether.js 및 Web3.js에 익숙해졌을 것입니다. 이제 라이브러리의 다양한 모듈, 주요 기능 및 개발자가 이를 사용할 수 있는 방법에 대해 알게 되었습니다. 또한, 이와 같은 웹3.0 라이브러리는 개발자가 막대한 시간과 리소스를 절약할 수 있도록 해주기 때문에 블록체인 개발에 필수적이라는 것을 이해합니다.

그러나 유사한 목적을 수행하고 매우 유사하다는 것을 알아 차렸을 수도 있습니다. 따라서 이 내용에서는 Ethers.js와 Web3.js를 비교하여 몇 가지 중요한 차이점을 강조합니다. 그렇게 함으로써 개발 노력에서 어느 것을 선택할지 더 쉽게 선택할 수 있기를 바랍니다.

두 라이브러리를 비교하는 다양한 방법이 있습니다. 다만, 이번 가이드에서는 커뮤니티, 문서화, 인기도를 중점적으로 다루겠습니다.

 

기본 커뮤니티

Web3.js는 앞에서 언급했듯이 이더리움 재단 프로젝트입니다. 따라서  Web3.js는 조직에서 직접 지원하고 체인 세이프에서 유지 관리한다는 의미입니다. 반대로 Ethers.js는 리처드 무어라는 개인이 만들었고 훨씬 작은 개발자 팀이 이라이브러리를 유지 관리합니다.

 

선적 서류 비치

Ethers.js와 Web3.js 모두 포괄적인 문서를 가지고 있습니다. 그러나이 측면에서  Ethers.js는 광범위하고 초보자에게 친숙한 시작하기 가이드를 기반으로 약간의 우위를 가지고 있는 것 같습니다.

 

인기

Web3.js는 현재 두 개의 이더리움 JS 라이브러리 중 가능 큰 것입니다. 그러나 Ethers.js는 현재 주간 다운로드를 기준으로 빠른 속도로 성장하고 있습니다. 그러나 깃허브 스타 측면에서 Web3.js는 Ethers.js를 10,000개 이상 능가합니다.

그럼에도 불구하고 Ethers.js와 Web3.js 모두 장단점이 있습니다. 결과적으로 개발자의 필요에 따라 둘중 하나를 선택하는 것은 귀하의 몫입니다.

1-m6ikbcbah-cgrym-hgre4g.png

4. Ethers.js 대안 탐색

Ethers.js는 이더리움 블록체인을 위한 자바스크립트 라이브러리중 하나입니다. 하지만 Ethers.js가 가지고 있는 다양한 기능을 활용 할 수 있는 다른 대안 라이브러리들도 존재합니다.

 

Web3.js

Web3.js는 Ethers.js와 마찬가지로 이더리움 블록체인을 위한 자바스크립트 라이브러리중 하나입니다. Web3.js는 이더리움과의 상호작용에 필요한 기능을 제공합니다.

 

트뤼플

트뤼플 이더리움 스마트 컨트랙트를 개발하기 위한 프레임워크입니다. 트뤼플은 이더리움 스마트 컨트랙트 개발에서 발생할 수 있는 다양한 문제를 해결해 줍니다.

 

임바크

임바크는 이더리움 블록체인에서 스마트 컨트랙트를 개발하기 위한 프레임워크입니다. 임바크는 스마트 컨트랙트 배포, 테스트, 디버깅 등의 작업을 수행할 수 있습니다.

 

포풀루스

포풀루스는 파이썬에서 이더리움 스마트 컨트랙트를 개발하기 위한 프레임워크입니다. 포풀루스는 솔리디티 코드 작성 및 배포, 테스트, 디버깅 등의 작업을 수행할 수 있습니다.

 

브라우니

브라우니는 파이썬에서 이더리움 스마트 컨트랙트를 개발하기 위한 프레임워크입니다. 브라우니는 솔리디티 코드 작성, 배프, 테스트, 디버깅, 스마트 컨트랙트 인터페이스 등의 작업을 수행할 수 있습니다.

이러한 라이브러리들은 모두 이더리움 블록체인에서 스마트 컨트랙트를 개발하고 실행하는데 필요한 다양한 기능을 제공합니다. 개발자들은 각각의 라이브러리의 장단점을 고려하여 자신이 개발하려는 애플리케이션에 적합한 라이브러리를 선택하여 사용할 수 있습니다.

ether-cover-2.png

 

 

요약하자면,

Ethers.js는 이더리움 블록체인에서 작동하는 분산 애플리케이션(dApp)을 구축하기 위한 자바스크립트 라이브러리입니다. 이더리움 스마트 컨트랙트와 상호 작용하고 이더리움 계정의 상태를 읽거나 변경하는 등의 작업을 수행할 수 있습니다.

또한, 이더리움 네트워크에 연겷라여 트랜잭션을 전송하고 이더리움 노드와 상호 작용할 수 있습니다. Ethers.js는 기본적인 이더리움 기능과 함께 다양한 유틸리티 및 보안 기능도 제공합니다.따라서 이더리움 블록체인에서 dApp을 구축하려는 개발자들에게 매우 유용한 도구입니다.

BLOCKSDK

BLOCKSDK