LaravelPackages.net
Acme Inc.
Toggle sidebar
mylesdc/laravel-ethereum

the ethereum json rpc api

82
2
About mylesdc/laravel-ethereum

mylesdc/laravel-ethereum is a Laravel package for the ethereum json rpc api. It currently has 2 GitHub stars and 82 downloads on Packagist. Install it with composer require mylesdc/laravel-ethereum. Discover more Laravel packages by mylesdc or browse all Laravel packages to compare alternatives.

Last updated

Ethereum Package for Laravel

Latest Stable Version Latest Unstable Version License Total Downloads

Introduction

This is a simple Laravel Service Provider providing for Generic JSON RPC

and Management API

Installation

To install the PHP client library using Composer:

composer require mylesdc/laravel-ethereum

Alternatively, add these two lines to your composer require section:

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

Laravel 5.5+

If you're using Laravel 5.5 or above, the package will automatically register the Ethereum provider and facade.

Laravel 5.4 and below

Add Mylesdc\LaravelEthereum\EthereumServiceProvider to the providers array in your config/app.php:

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

    Mylesdc\LaravelEthereum\EthereumServiceProvider::class,
],

If you want to use the facade interface, you can use the facade class when needed:

use Mylesdc\LaravelEthereum\Facade\Ethereum;

Or add an alias in your config/app.php:

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

Using Laravel-Ethereum with Lumen

laravel-ethereum works with Lumen too! You'll need to do a little work by hand to get it up and running. First, install the package using composer:

composer require mylesdc/laravel-ethereum

Next, we have to tell Lumen that our library exists. Update bootstrap/app.php and register the EthereumServiceProvider:

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

Finally, we need to configure the library. Unfortunately Lumen doesn't support auto-publishing files so you'll have to create the config file yourself by creating a config directory and copying the config file out of the package in to your project:

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

At this point, set ETH_HOST and ETH_PORT in your .env file and it should be working for you. You can test this with the following route:

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

Configuration

You can use artisan vendor:publish to copy the distribution configuration file to your app's config directory:

php artisan vendor:publish

Then update config/ethereum.php with your credentials. Alternatively, you can update your .env file with the following:

ETH_HOST=http://localhost
ETH_PORT=8545

Usage

To use the Ethereum Client Library you can use the facade, or request the instance from the service container:

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

Or

$thereum = app('Ethereum');

$result=$thereum->eth_protocolVersion();

Star History Chart