omnixdeveloper / laravel-omnix
Omnix json rpc api
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ~5.3|~6.2
- kornrunner/ethereum-address: ^0.3.0
- kornrunner/ethereum-offline-raw-tx: ^0.4.0
- kornrunner/ethereum-token: ^0.1.0
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2025-03-22 21:39:46 UTC
README
Ethereum Package for Laravel
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 omnixdeveloper/laravel-omnix
Alternatively, add these two lines to your composer require section:
{ "require": { "omnixdeveloper/laravel-omnix": "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 omnixdeveloper\LaravelOmnix\OmnixServiceProvider
to the providers
array in your config/app.php
:
'providers' => [ // Other service providers... omnixdeveloper\LaravelOmnix\OmnixServiceProvider::class, ],
If you want to use the facade interface, you can use
the facade class when needed:
use omnixdeveloper\LaravelOmnix\Facade\Ethereum;
Or add an alias in your config/app.php
:
'aliases' => [ ... 'Ethereum' => omnixdeveloper\LaravelOmnix\Facade\Ethereum::class, ],
Using laravel-omnix with Lumen
laravel-omnix 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 omnixdeveloper/laravel-omnix
Next, we have to tell Lumen that our library exists. Update bootstrap/app.php
and register the OmnixServiceProvider
:
$app->register(omnixdeveloper\LaravelOmnix\OmnixServiceProvider::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/omnixdeveloper/laravel-omnix/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 = \omnixdeveloper\LaravelOmnix\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 = \omnixdeveloper\LaravelOmnix\Facade\Ethereum::eth_protocolVersion(); print_r($ret); }catch (Exception $e){ echo $e->getMessage(); }
Or
$thereum = app('Ethereum'); $result=$thereum->eth_protocolVersion();