찾다
백엔드 개발PHP 튜토리얼PHP는 JSON-RPC를 통해 Ethereum과의 상호 작용을 위한 콘텐츠 구문 분석을 구현합니다.

이 글의 내용은 JSON-RPC를 통해 이더리움과 상호 작용하는 PHP의 내용 분석에 관한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

작년부터 블록체인 사업을 전개하고 있습니다. 최근 이더리움을 사용하고 PHP로 작업하면서 이 주제에 관해 이야기를 나눠볼까 생각했습니다.

여기에 전제 조건이 있습니다:

  • 1. 블록체인을 이해합니다.

  • 2. 프로그래밍 언어에 대한 지식이 있습니다. ​

텍스트:

1.Ubuntu 14.04 L을 사용합니다. TS . 운영체제를 설치한 후 미리 정해진 명령어를 입력하세요.

$ sudo apt-get update
$ sudo apt-get upgrade

그 후 SSH, iptables, ntp 등을 설정했습니다.

그 다음에는 Apache + PHP가 나옵니다. PHP 버전은 5.5입니다.

$ sudo apt - get install php 5 libapache 2 - mod - php 5 php 5 - curl

2. 이더리움 소개

이번에는 GO 언어로 만들어진 이더리움 노드,

geth를 사용하겠습니다.

go-ethereum먼저 저장소를 추가해 보겠습니다.

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum / ethereum
$ sudo add-apt-repository -y ppa:ethereum / ethereum-dev

그런 다음 설치하면 됩니다.

$ sudo apt-get update
$ sudo apt-get install ethereum

설치가 완료되면 즉시 geth를 시작하세요.

먼저 데이터 디렉토리를 생성하고 첫 번째 블록(제네시스 블록)에 대한 설정을 설명합니다.

$ mkdir~ / eth_private_net
$ vim~ / eth_private_net / my_genesis.json

{
“nonce”:“0x0000000000000042”,
“timestamp”:“0x0”,
“parentHash”:“0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000”,
“extraData”:“0x0”,
“gasLimit”:“0xffffffff”,
“难度”:“0x4000”,
“mixhash”:“0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000”,
“coinbase”:“0x3333333333333333333333333333333333333333”,
“alloc”:{}
}

다음으로 Genesis 블록을 생성하고 geth를 시작합니다.
$ geth --datadir "/home/yoshida/eth_private_net" init /home/yoshida/eth_private_net/my_genesis.json
$ geth --networkid 57598955 --port 8955 --nodiscover --datadir "/home/yoshida/eth_private_net" console 2>> /home/yoshida/eth_private_net/geth_err.log

콘솔 모드에서 성공적으로 시작됩니다.

여러 옵션이 지정되어 있으며, 설명은 아래에 요약되어 있습니다.

    networkid, 공개 노드에 연결하세요.
  • 포트, 대기용으로 사용되는 포트입니다. 4자리로 바꿨어요.
  • nodiscover, 노드가 자동으로 조회되지 않도록 하는 설정입니다.
  • datadir은 블록체인이 데이터를 저장하는 디렉터리를 지정합니다.
  • 콘솔, 동시에 콘솔을 실행하세요.
  • 좋아, 다음 PHP 호출을 위한 준비가 되었습니다. 하지만 그 전에 geth 측에서 좀 더 준비를 해보겠습니다.

3. JSON-RPC 호출을 준비합니다.

JSON-RPC를 통해 PHP에서 액세스합니다. 여기서는 이웃을 설정하겠습니다.

먼저 현재 계정 정보를 가져옵니다. 또한 지난번에 시작한 geth 콘솔을 사용합니다.

> eth.accounts
[]

아직 계정을 만들지 않았기 때문에 만들어야 합니다.

> personal.newAccount("password")
"0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b"
> eth.accounts
["0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b"]

계정이 생성되었습니다. 채굴 시 보상을 받을 수 있도록 설정하였습니다.

> miner.setEtherbase(eth.accounts [0])

다음으로 현재 노드에서는 RPC 호출을 허용하지 않으므로 옵션을 추가하고 다시 시작해 보세요. 먼저 geth를 마무리하겠습니다.

> exit

옵션을 추가하고 다시 시작합시다.

$ geth --networkid 57598955 --port 8955 --nodiscover --rpc --rpcaddr "0.0.0.0" --rpcport "8956" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --datadir "/home/yoshida/eth_private_net" console 2>> /home/yoshida/eth_private_net/geth_err.log

rpc에 대한 여러 옵션을 추가했습니다. 설명은 다음과 같습니다.

    rpc는 RPC 백업을 허용합니다.
  • rpcaddr, RPC 백업 IP 주소에 사용됩니다.
  • rpcport, RPC를 수신하는 데 사용되는 포트입니다. 포트번호를 4자리로 낮췄습니다.
  • rpccorsdomain, RPC에 대한 액세스를 허용하는 도메인입니다. 노드를 게시할 때 "*"이면 모든 것이 허용된다는 점에 유의하세요.
  • 이제 노드 측이 준비되었습니다. 다음은 PHP에서의 호출입니다.

4. PHP에서 액세스

마지막으로 PHP에서 액세스하는 이유는 코드를 작성할 때 사용하기가 매우 어렵기 때문입니다.

README에서 볼 수 있듯이 클래스만 생성하면 됩니다.

테스트 스크립트와 같은 디렉토리에 넣어서 사용해보자.

$ cd /home/yoshida/php-eth/
$ ls -l
ethereum.php json-rpc.php
$ vim test.php
<?php require_once &#39;ethereum.php&#39;;
$ethereum = new Ethereum(&#39;localhost&#39;, &#39;8956&#39;);
print_r($ethereum->eth_accounts());

이 스크립트를 실행하면 아래와 같은 계정 목록이 나와야 합니다.

$ php test.php
Array
(
[0] => 0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b
)

연결이 되지 않을 경우 포트 설정 등을 확인해주세요.

지금까지는 간단하게 설명했는데, PHP로 개발하는 것이 의외로 쉽나요?

관련 권장 사항:

브라우저가 비트코인 ​​코어 클라이언트의 JSON-RPC 인터페이스를 통해 관련 데이터를 얻는 방법


php

으로 구현된 간단한 json rpc 프레임워크 예

위 내용은 PHP는 JSON-RPC를 통해 Ethereum과의 상호 작용을 위한 콘텐츠 구문 분석을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
世界十大USDT交易所哪个正规?盘点10大靠谱USDT购买平台世界十大USDT交易所哪个正规?盘点10大靠谱USDT购买平台Jan 31, 2024 am 08:21 AM

USDT作为一种备受关注的稳定货币,随着区块链技术的发展和加密货币市场的普及,逐渐占据了市场份额。但是在众多的usdt购买平台中,我们如何才能找到真正可靠、正规的交易所呢?以下是全球十大可靠usdt购买平台的盘点。盘点10大靠谱USDT购买平台1.OKx欧易OKEx是一家领先的数字资产交易平台,也是购买USDT的可靠选择。它提供了全面的交易功能和多样化的交易选择,并采取了多种安全措施来保护用户的资金和交易安全。通过OKEx购买USDT,用户可以享受高效、安全的交易体验。欧易OKX是全球领先的数字

国内合约量化交易软件排行榜最新国内合约量化交易软件排行榜最新Jan 31, 2024 am 11:51 AM

一、前言在金融市场中,合约量化交易已经成为了一种更为高效和智能的交易方式。随着技术的不断进步,越来越多的企业或个人投资者开始关注并使用各种量化交易软件。本文将会介绍合约量化交易软件排行榜,以帮助投资者选择适合自己的量化交易软件。二、合约量化交易软件排行榜欧易OKX欧易OKX是国内较为优秀的数字货币交易平台之一,属于OKEx旗下的分支机构。欧易OKX支持多种数字货币的交易,包括比特币、以太坊、莱特币、瑞波等等,还提供了杠杆交易、期货合约等高级交易服务。用户可以通过手机APP或PC端网站进行交易操作

世界知名usdt交易所排名前十 盘点十大usdt交易所世界知名usdt交易所排名前十 盘点十大usdt交易所Jan 31, 2024 am 08:03 AM

世界知名USDT交易所排名前十USDT(Tether)是一种基于比特币区块链技术的数字货币,与美元挂钩,被广泛应用于加密货币交易。USDT交易所是提供USDT交易服务的平台,随着加密货币市场的不断发展,各国涌现了许多知名的USDT交易所。本文将盘点并深度分析全球排名前十的USDT交易所。1.币安(Binance)币安是全球最大的USDT交易所,也是市值最高的加密货币交易所之一。成立于2017年的币安,凭借强大的技术支持、丰富的交易品种和良好的用户体验,迅速成为行业领军者。币安拥有全球用户基础,提

Meme币WEN爆火!Jupiter单日交易量超越Uniswap 登上DEX榜首Meme币WEN爆火!Jupiter单日交易量超越Uniswap 登上DEX榜首Jan 31, 2024 am 08:48 AM

根据CoinGecko数据,过去24小时,Solana生态DeFi聚合平台Jupiter的交易量超过5.22亿美元,占比达18.3%,超过了Uniswap在以太坊上的V2和V3协议交易量总和(约5亿美元)。DEX交易量排行在Jupiter的单日交易量中,Meme币WEN相关交易对的交易量超过6000万美元。Jupiter的共同创办人meow在25日宣布申领WEN已经开放。过去6个月内与Jupiter互动或拥有SolanaSaga手机的人都有资格申领WEN。WEN空投领取截止时间为今晚11点,每位

Magic Eden多链钱包上线!一站式NFT管理、免费铸造、空投机会Magic Eden多链钱包上线!一站式NFT管理、免费铸造、空投机会Feb 01, 2024 am 11:30 AM

本站(120bTC.coM):Solana生态NFT市场龙头MagicEden,在去年3月中旬抢搭Ordinals热潮推出比特币NFT市场,如今已成为仅次于OKX交易量第二大的市场。此外,这也意味着原本仅支持Solana和Polygon(2022/11支持)的MagicEden,正式拓展到比特币网络,紧接着在去年3月底,再宣布支持以太坊。但MagicEden的展望不仅于此,他认为虽然他的平台支持了四个公链的市场,但用户需要为每个链连线不同的钱包,太不方便,对于要如何实现统一的市场,提升用户体验,

现在还有那些虚拟币软件是可以使用的?好用的交易平台app推荐分享!现在还有那些虚拟币软件是可以使用的?好用的交易平台app推荐分享!Feb 01, 2024 am 08:36 AM

现在还有哪些虚拟币软件是可以使用的?好用的交易平台app推荐分享!随着虚拟币行业的不断发展,越来越多的人开始投资虚拟币。那么,现在还有哪些虚拟币软件是可以使用的呢?下面就来介绍一下。1.聚币网聚币网是一家成立多年的比特币交易平台,一直以来都致力于保障用户的资产安全。为了保证用户的数字资产安全,该平台采用了多层加密机制来存储用户的资产。该平台功能齐全,支持比特币、以太坊等虚拟币的交易,并提供了OTC等服务,为用户提供便利的交易环境。交易界面简洁易懂,操作方便,即使是新手也能轻松上手使用。2.币安币

欧交易V6.4.30欧意有多少中国用户欧交易V6.4.30欧意有多少中国用户Jan 31, 2024 pm 03:30 PM

欧交易是一款可以充值的btc、eth、usdt、doge等虚拟货币交易所平台,多种跨链资产,支持各国法币交易。一、欧交易推荐1、现货交易:便捷迅速的进行比特币莱特币交易。2、10年以上财务风险控制团队工作经验3、快捷方便,充值即时、提现迅速,每秒万单的高性能交易引擎,保证一切快捷方便。4、安全快捷的国内顶尖交易平台,超齐全的数字币交易服务。5、24小时开放,一对一的客户服务管理,动态信息量大;6、双重加密的系统,帮助用户可以安全放心的进行交易。7、查看比特币现货、期货、期权价格8、你可以通过判断

什么是OCO订单?什么是OCO订单?Apr 25, 2023 am 11:26 AM

二选一订单(OneCancelstheOther,简称OCO)可让您同时下达两个订单。它结合了限价单和限价止损单,但只能执行其中一个。换句话说,只要其中的限价单被部分或全部成交、止盈止损单被触发,另一个订单将自动取消。请注意,取消其中一个订单也会同时取消另一个订单。在币安交易平台进行交易时,您可以将二选一订单作为交易自动化的基本形式。这个功能可让您选择同时下达两个限价单,从而有助于止盈和最大程度减少潜在损失。如何使用二选一订单?登录您的币安帐户之后,请前往基本交易界面,找到下图所示的交易区域。点

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기