2017 © Pedro Peláez
 

library ethereum-php

A library integrating Ethereum with typed PHP.

image

digitaldonkey/ethereum-php

A library integrating Ethereum with typed PHP.

  • Thursday, July 26, 2018
  • by digitaldonkey
  • Repository
  • 18 Watchers
  • 185 Stars
  • 4,389 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 51 Forks
  • 5 Open issues
  • 4 Versions
  • 44 % Grown

The README.md

Ethereum-PHP

is a typed PHP-7.1+ interface to Ethereum JSON-RPC API., (*1)

Check out the latest API documentation., (*2)

Add library in a composer.json file

{
  "minimum-stability":"dev",
  "autoload": {
    "psr-4": {
      "Ethereum\\": "src/"
    }
  },
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/digitaldonkey/ethereum-php.git"
    }
  ],
  "require": {
    "digitaldonkey/ethereum-php": "dev-master"
  }
}

Usage

composer require digitaldonkey/ethereum-php

This is the important part of composer.json in Drupal Ethereum Module., (*3)

require __DIR__ . '/vendor/autoload.php';
use Ethereum\Ethereum;

try {
    // Connect to Ganache
    $eth = new Ethereum('http://127.0.0.1:7545');
    // Should return Int 63
    echo $eth->eth_protocolVersion()->val();
}
catch (\Exception $exception) {
    die ("Unable to connect.");
}

Calling Contracts, (*4)

You can call (unpayed) functions in smart contracts easily., (*5)

The json file "$fileName" used is what you get when you compile a contract with Truffle., (*6)

$ContractMeta = json_decode(file_get_contents($fileName));
$contract = new SmartContract(
  $ContractMeta->abi,
  $ContractMeta->networks->{NETWORK_ID}->address,
  new Ethereum(SERVER_URL)
);
$someBytes = new EthBytes('34537ce3a455db6b')
$x = $contract->myContractMethod();
echo $x->val()

You can also run tests at smart contracts, check out EthTestClient., (*7)

Event listening and handling

You can use Ethereum-PHP to watch changed on your smart contracts or index a Blockchain block by block. gs, (*8)

See UsingFilters and ethereum-php-eventlistener., (*9)

Limitations

Currently not all datatypes are supported., (*10)

This library is read-only for now. This means you can retrieve information stored in Ethereum Blockchain., (*11)

To write to the blockchain you need a to sign transactions with a private key which is not supported yet., (*12)

architecture diagram, (*13)

Documentation

The API documentation is available at ethereum-php.org., (*14)

For reference see the Ethereum RPC documentation and for data encoding RLP dcumentation in Ethereum Wiki., (*15)

There is also a more readable Ethereum Frontier Guide version., (*16)

The Versions

26/07 2018

dev-dev

dev-dev

A library integrating Ethereum with typed PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Thorsten Krug

10/07 2018

dev-master

9999999-dev

A library integrating Ethereum with typed PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Thorsten Krug

18/05 2018

dev-feature-ecrecover

dev-feature-ecrecover

A library integrating Ethereum with typed PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Thorsten Krug

23/03 2018

dev-refactor-datatypes

dev-refactor-datatypes

A library integrating Ethereum with typed PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Thorsten Krug