美文网首页
浅谈以太坊与PHP交互

浅谈以太坊与PHP交互

作者: lhx很好 | 来源:发表于2020-07-25 16:45 被阅读0次
4TZ(%B$QQRUYNVG885R4XGC.png

前言

最近这段时间,有关注Eth的朋友知道涨了一波,当然我在这方面有点感兴趣,所以一直比较关注3月份左右到现在翻了一倍(期间达到285.72美元),投资的朋友需要谨慎一点,韭菜新手,瑟瑟发抖

什么是以太坊(Eth)

Eth的一种数字代币,被视为“比特币2.0版”,采用与比特币不同的区块链技术“以太坊”(Ethereum),一个开源的有智能合约成果的民众区块链平台,由全球成千上万的计算机构成的共鸣网络。和比特币一样Eth有着自己的通信ERC20协议,节点确认时间更快,成本低,12个块确认。智能合约开发者可以发行代币,支付以太币(ETH)来支撑应用的运行,和其他数字货币一样,以太币可以在交易平台上进行买卖

PHP交互如何与以太坊交互

需要下载Geth客户端,Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能。

下载地址:https://geth.ethereum.org/downloads/ 下载好然后安装好,然后运行

使用composer克隆包
composer require aytaceminoglu/erc20-php

代码(这里以USDT为例)初始化

private function __construct()
    {
       
        $this->pass= 'abc123456';
        $this->eth = new EthereumRPC('127.0.0.1', 5145);
        $erc20 = new ERC20($this->eth);
        $this->token=$erc20->token('0xdAC17F958D2ee523a2206206994597C13D831ec7');// USDT顶层合约地址
    }

创建钱包地址

  public function EthCreateAccount(){
        return $this->eth->personal()->newAccount($this->pass);
    }

USDT转账(所有以太坊代币转账都需要使用ETH作为矿工费)

 public function UsdtTransfer($fromAddress,$toAddress,$transAmount,$gas=100000){

        $payData=$this->token->encodedTransferData($toAddress,$transAmount);
        $transaction=$this->eth->personal()->transaction($fromAddress,$this->contractAddress)
            ->amount('0')
            ->data($payData)
            ->gas($gas);
        $txId=$transaction->send($this->pass);
        return $txId;
    }

USDT余额查询

 public function UsdtGetBalance($address){
        $balance=$this->token->balanceOf($address);
        return $balance;
    }

以太坊转账与USDT方式大同小异

public function EthTransfer($fromAddress,$toAddress,$ethAmount,$gas=100000){
        $txId=$this->eth->personal()->sendEthereum($fromAddress,$toAddress,$ethAmount,$this->pass);
        return $txId;
    }

查询以太坊余额

 public function EthGetBalance($address){
        return $this->eth->eth()->getBalance($address);
    }

以太坊有代币(查询所有币种余额)

 public function EthFindAccount(){
        return $this->eth->eth()->accounts();
    }

好了到这里就结束了,随着区块链的发展应用场景会越来越多

相关文章

  • 浅谈以太坊与PHP交互

    前言 最近这段时间,有关注Eth的朋友知道涨了一波,当然我在这方面有点感兴趣,所以一直比较关注3月份左右到现在翻了...

  • 使用脚本与以太坊交互

    除了控制台外,以太坊还支持用脚本与geth交互。除了JS外,还支持Python、PHP Java等。 以太坊的交互...

  • NodeJs01

    一:DAPP 基于以太坊 开发语言:solidity 前台界面与用户进行交互,前台界面与以太坊进行,交互的语言是n...

  • PHP如何与以太坊交互

    自去年以来,我们正在开发区块链(Blockchain)业务。最近使用过Ethereum并使用PHP,所以我想我们应...

  • 第三章 以太坊区块链交互机制

    第三章 以太坊区块链交互机制 本章主要介绍的内容是如何与以太坊区块链进行交互,包括JSONRPC与web3的介绍。...

  • 以太坊交易的生命周期

    了解以太坊交易是如何生成并在网络中广播的 交易是以太坊区块链(或任何类似的区块链)的核心。在与以太坊区块链进行交互...

  • Web3与智能合约交互实战(附代码)

    在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽然让很多程...

  • 以太坊开发(二十)Web3与智能合约交互实战

    写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽...

  • Web3与智能合约交互实战

    写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽...

  • 以太坊的编程接口

    三种方式与区块链交互: JavaScript Console:在geth控制台与以太坊交互。 JSON-RPC:一...

网友评论

      本文标题:浅谈以太坊与PHP交互

      本文链接:https://www.haomeiwen.com/subject/gwzplktx.html