web3.js 예제

web3.js 예제

CDN : https://cdn.jsdelivr.net/gh/ethereum/web3.js@1.0.0-beta.34/dist/ 먼저 프로젝트에 web3.js를 얻어야 합니다. 스마트 계약 ABI는 “추상 이진 인터페이스”를 의미하며 특정 스마트 계약이 작동하는 방식을 설명하는 JSON 배열입니다. 다음은 ABI: 이미 서명된 트랜잭션을 보내는 예제입니다. 예를 들어 이더리움 블록체인의 이력을 분석할 때 https://github.com/SilentCicero/ethereumjs-accounts 블록을 검사하는 것이 유용한 경우가 많습니다. Web3.js에는 많은 기능이 있습니다. 예를 들어, Etherscan에서 이 블록 기록 기능처럼 보이는 것을 만들 수 있습니다: web3 개체를 얻었다면 일부 API를 호출하여 블록 체인에서 무슨 일이 일어나고 있는지 알아볼 수 있습니다. 내 경우에는 웹 페이지에서 몇 가지 레이블을 업데이트하기만하면 (jQuery 사용) 내 계정에 대한 몇 가지 정보가 있습니다. 예를 들어 ETH 잔액을 표시하려면 다음과 같은 모든 프롬프트를 통해 입력을 누를 수 있습니다. 그런 다음 web3.js를 설치하기 위해 다음 명령을 실행합니다: 이 단원 예제에서는 배포된 스마트 계약과 상호 작용하려면 계약 주소와 응용 프로그램 이진 인터페이스(ABI)가 필요합니다.

ABI는 JSON 개체의 형태로 계약 공용 인터페이스에 대한 설명입니다. 예를 들어 ERC-20 토큰에 해당하는 ABI는 https://github.com/ethereum/wiki/wiki/Contract-ERC20-ABI 찾을 수 있습니다. 예를 들어 노드 앱과 같은 commonjs 모듈에서 형식을 사용하는 경우 tsconfig 컴파일 옵션에서 esModuleInterop을 사용하도록 설정하면 형식 시스템 호환성에 대해 allowSyntheticDefaultImports를 사용하도록 설정합니다. 공식 web3.js 문서에서 찾을 수 있습니다. 현재 두 가지 버전의 Web3.js를 사용할 수 있습니다. 현재 안정 버전(0.3)은 버전 1.0으로 대체되었습니다. 그러나 버전 1.0은 공식적으로 아직 베타 단계에 있습니다. 그럼에도 불구하고 현재 대부분의 개발자가 사용하는 버전이며 이 문서의 예제는 버전 1.0을 기반으로 합니다. 참고: 이 문서는 web3.js 버전 0.2x.x용입니다. web3.js 1.0을 사용하는 경우 이 설명서를 참조하십시오.

앱이 이더리움에서 작동하도록 하려면 web3.js 라이브러리에서 제공하는 web3 개체를 사용할 수 있습니다. 후드 아래에서 RPC 호출을 통해 로컬 노드에 통신합니다. web3.js는 RPC 레이어를 노출하는 모든 이더리움 노드에서 작동합니다. web3에는 eth 개체(특히 이더리움 블록체인 상호 작용용) 및 shh 개체인 web3.shh(귓속말 상호 작용용)가 포함되어 있습니다. 시간이 지남에 따라 다른 web3 프로토콜 각각에 대 한 다른 개체를 소개 합니다. 작업 예제는 여기에서 찾을 수 있습니다. web3.js를 사용하여 좀 더 정교한 예제를 확인하려면 이러한 유용한 앱 패턴을 확인하십시오. 이 단원의 첫 번째 부분이 완료되었으므로 두 번째 부분인 스마트 계약의 함수를 호출하여 데이터를 읽어야 합니다. 모든 스마트 계약 함수는 contract.method 할당된 Web3 계약 내의 네임스페이스 아래에 나열됩니다. 예를 들어 계약이 myFunction()을 구현하는 경우 contract.method.myFunction()을 호출할 수 있습니다. 그러나, web3.js를 사용 하 여 다른 방법은 이것, 또한 읽어 보시기 바랍니다: https://medium.com/@yangnana11/상호 작용-와-스마트 계약-통해-web3-js-tutorial-56a7ff2ff153 이 개체를 보내는 데 사용할 수 있습니다.

예를 들어, 이더리움 블록체인에 스마트 계약을 배포할 수 있는 여러 가지 방법이 있습니다. Web3.js 자체 내에서 배포하는 여러 가지 방법도 있습니다. 이 시리즈의 이전 교훈과 마찬가지로 스마트 계약이 Ethereum Blockchain에 배포될 때 어떤 일이 발생하는지 더 잘 이해하는 데 도움이 되는 한 가지 방법을 보여 줄 것입니다. 이 예제에서는 프로세스의 각 단계로 배포를 세분화하도록 설계되었습니다.