>백엔드 개발 >PHP 튜토리얼 >PHP에서 Ethereum 데이터를 얻는 방법에 대한 자세한 단계

PHP에서 Ethereum 데이터를 얻는 방법에 대한 자세한 단계

PHPz
PHPz원래의
2023-04-03 11:15:051212검색

블록체인 세계에서 이더리움의 인기로 인해 이더리움 데이터를 얻는 방법에 점점 더 많은 사람들이 관심을 기울이고 있습니다. 이더리움 브라우저를 통해 이더리움의 거래 기록과 블록 정보를 볼 수 있을 뿐만 아니라, PHP 언어를 통해서도 이더리움 데이터를 얻을 수 있습니다. 이 기사에서는 PHP를 사용하여 Ethereum 데이터를 얻는 방법을 소개합니다.

먼저 이더리움 네트워크와 통신하려면 이더리움 노드 API를 사용해야 합니다. 이더리움 노드 API는 이더리움 클라이언트가 제공하는 인터페이스로, API를 통해 HTTP 또는 WebSocket 형식으로 이더리움 데이터를 얻을 수 있습니다. 현재 가장 널리 사용되는 Ethereum 노드 API에는 Infura, Etherscan 등이 있습니다. 여기서는 Infura API를 예로 들어 설명하겠습니다.

  1. Infura API 등록 및 액세스 토큰 받기

먼저 Infura API 계정을 등록하고 프로젝트를 생성해야 토큰을 얻을 수 있습니다. 등록 주소는 https://infura.io/register입니다. 등록이 성공적으로 완료되면 콘솔에서 프로젝트를 생성하여 토큰을 얻을 수 있습니다.

  1. Ethereum-PHP 라이브러리 설치

Infura API와 통신하려면 Ethereum-PHP 라이브러리를 사용하여 HTTP 또는 WebSocket 요청을 보내야 합니다. Composer를 사용하여 Ethereum-PHP 라이브러리를 설치하십시오. Composer는 프로젝트의 종속성을 관리할 수 있는 PHP용 패키지 관리 도구입니다. 다음 명령을 사용하여 Ethereum-PHP 라이브러리를 설치할 수 있습니다:

composer require ethereum-php/ethereum-php
  1. Get Ethereum 블록 정보

Ethereum-PHP 라이브러리에서 제공하는 인터페이스를 사용하여 Ethereum 블록 정보를 얻을 수 있습니다. 다음은 최신 블록을 가져오는 샘플 코드입니다.

$infuraUrl = "https://mainnet.infura.io/v3/your-infura-project-id"; // Infura API 的 URL
$ethereum = new \Ethereum\RPC($infuraUrl); // 创建 Ethereum-PHP 实例
$latestBlock = $ethereum->eth_blockNumber(); // 获取最新区块号
$latestBlockNumber = hexdec($latestBlock); // 转换为十进制的区块号
$block = $ethereum->eth_getBlockByNumber("0x" . dechex($latestBlockNumber)); // 获取 Block 对象

위 코드에서 먼저 Infura API의 URL과 자체 프로젝트 ID를 특정 값으로 바꿔야 합니다. 그런 다음 Ethereum-PHP 인스턴스를 생성하고 eth_blockNumber 함수를 사용하여 최신 블록 번호를 가져와 10진수로 변환했습니다. 마지막으로 eth_getBlockByNumber 함수를 사용하여 최신 블록 객체를 얻습니다.

  1. 이더리움 거래 기록 가져오기

Ethereum-PHP 라이브러리에서 제공하는 인터페이스를 사용하여 이더리움 거래 기록을 얻을 수 있습니다. 다음은 최신 트랜잭션을 가져오는 샘플 코드입니다.

$infuraUrl = "https://mainnet.infura.io/v3/your-infura-project-id"; // Infura API 的 URL
$ethereum = new \Ethereum\RPC($infuraUrl); // 创建 Ethereum-PHP 实例
$latestBlock = $ethereum->eth_blockNumber(); // 获取最新区块号
$latestBlockNumber = hexdec($latestBlock); // 转换为十进制的区块号
$block = $ethereum->eth_getBlockByNumber("0x" . dechex($latestBlockNumber)); // 获取最新的区块
$transaction = $ethereum->eth_getTransactionByHash($block->transactions[0]); // 获取最新一笔交易

위 코드에서는 위와 같이 최신 블록의 Block 객체를 먼저 가져온 후 eth_getTransactionByHash 함수를 사용하여 최신 트랜잭션의 첫 번째 트랜잭션을 가져옵니다. 블록 객체.

위의 샘플 코드 외에도 Ethereum-PHP 라이브러리는 블록의 모든 거래, 주소 잔액, ABI 및 스마트 계약 코드 및 기타 정보를 얻을 수 있는 풍부한 인터페이스도 제공합니다.

요약

이 글에서는 PHP를 사용하여 이더리움 데이터를 얻는 방법을 자세히 설명합니다. 먼저 Infura API 계정을 등록하고 토큰을 얻기 위한 프로젝트를 생성해야 합니다. 그런 다음 Composer를 통해 Ethereum-PHP 라이브러리를 설치하고 Ethereum-PHP 라이브러리에서 제공하는 인터페이스를 사용하여 Ethereum 데이터를 얻습니다. Ethereum-PHP 라이브러리 사용에 대해 자세히 알아보려면 Ethereum-PHP 라이브러리 공식 문서를 참조하세요.

위 내용은 PHP에서 Ethereum 데이터를 얻는 방법에 대한 자세한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.