6phere/laravel-ethereum

Ethereum JSON RPC API

dev-master 2020-04-09 09:41 UTC

This package is auto-updated.

Last update: 2024-09-09 20:13:21 UTC


README

Laravel 的 Ethereum 包

Latest Stable Version Latest Unstable Version License Total Downloads

介绍

这是一个简单的 Laravel 服务提供者,提供对 通用 JSON RPC

管理 API

安装

使用 Composer 安装 PHP 客户端库

composer require jcsofts/laravel-ethereum

或者,将以下两行添加到您的 composer require 部分

{
    "require": {
        "jcsofts/laravel-ethereum": "dev-master"
    }
}

Laravel 5.5+

如果您使用 Laravel 5.5 或更高版本,则该包将自动注册 Ethereum 提供者和外观。

Laravel 5.4 及以下版本

Jcsofts\LaravelEthereum\EthereumServiceProvider 添加到您的 config/app.php 文件中的 providers 数组

'providers' => [
    // Other service providers...

    Jcsofts\LaravelEthereum\EthereumServiceProvider::class,
],

如果您想使用外观接口,可以在需要时使用外观类

use Jcsofts\LaravelEthereum\Facade\Ethereum;

或者,在 config/app.php 中添加别名

'aliases' => [
    ...
    'Ethereum' => Jcsofts\LaravelEthereum\Facade\Ethereum::class,
],

使用 Laravel-Ethereum 与 Lumen

laravel-ethereum 也与 Lumen 兼容!您需要手动做一些工作来启动它。首先,使用 Composer 安装此包

composer require jcsofts/laravel-ethereum

接下来,我们必须让 Lumen 知道我们的库存在。更新 bootstrap/app.php 并注册 EthereumServiceProvider

$app->register(Jcsofts\LaravelEthereum\EthereumServiceProvider::class);

最后,我们需要配置库。不幸的是,Lumen 不支持自动发布文件,因此您需要手动创建配置文件,创建一个配置目录,并将配置文件从包中复制到您的项目中

mkdir config
cp vendor/jcsofts/laravel-ethereum/config/ethereum.php config/ethereum.php

此时,在您的 .env 文件中设置 ETH_HOSTETH_PORT,它应该对您有效。您可以使用以下路由进行测试

try{
        $ret = \Jcsofts\LaravelEthereum\Facade\Ethereum::eth_protocolVersion();
        print_r($ret);
    }catch (Exception $e){
        echo $e->getMessage();
    }

配置

您可以使用 artisan vendor:publish 将分发配置文件复制到您的应用程序配置目录

php artisan vendor:publish

然后更新 config/ethereum.php 并使用您的凭据。或者,您可以在 .env 文件中更新以下内容

ETH_HOST=https://
ETH_PORT=8545

使用

要使用 Ethereum 客户端库,您可以使用外观或从服务容器中请求实例

try{
        $ret = \Jcsofts\LaravelEthereum\Facade\Ethereum::eth_protocolVersion();
        print_r($ret);
    }catch (Exception $e){
        echo $e->getMessage();
    }

或者

$thereum = app('Ethereum');

$result=$thereum->eth_protocolVersion();