Go to file
2017-12-19 15:52:17 +08:00
src personal_newAccount 2017-12-19 15:52:17 +08:00
test personal_newAccount 2017-12-19 15:52:17 +08:00
.gitignore Web3 2017-12-12 11:52:52 +08:00
.travis.yml Remove php 7.0 in travisci 2017-12-12 12:24:11 +08:00
composer.json Remove php 7.0 in travisci 2017-12-12 12:24:11 +08:00
LICENSE License 2017-12-19 14:55:51 +08:00
phpunit.xml Phpunit whitelist directory. 2017-12-19 11:16:42 +08:00
README.md README.md 2017-12-19 12:07:56 +08:00

web3.php

Build Status codecov

A php interface for interacting with the Ethereum blockchain and ecosystem.

Install

composer require sc0vu/web3.php dev-master

Or you can add this line in composer.json

"sc0vu/web3.php: "dev-master"

Usage

New instance

use Web3\Web3;

$web3 = new Web3('http://localhost:8545');

Using provider

use Web3\Web3;
use Web3\Providers\HttpProvider;
use Web3\RequestManagers\HttpRequestManager;

$web3 = new Web3(new HttpProvider(new HttpRequestManager('http://localhost:8545')));

You can use callback to each rpc call:

$web3->clientVersion(function ($err, $version) {
    if ($err !== null) {
        // do something
        return;
    }
    if (isset($client->result)) {
        echo 'Client version: ' . $version->result;
    } else {
        // do something rpc error
    }
});

Eth

use Web3\Web3;

$web3 = new Web3('http://localhost:8545');
$eth = $web3->eth;

Or

use Web3\Eth;

$eth = new Eth('http://localhost:8545');

Net

use Web3\Web3;

$web3 = new Web3('http://localhost:8545');
$net = $web3->net;

Or

use Web3\Net;

$net = new Net('http://localhost:8545');

Batch

web3

$web3->batch(true);
$web3->clientVersion();
$web3->hash('0x1234');
$web3->execute(function ($err, $data) {
    if ($err !== null) {
        // do something
        return;
    }
    // do something
});

eth

$eth->batch(true);
$eth->protocolVersion();
$eth->syncing();

$eth->provider->execute(function ($err, $data) {
    if ($err !== null) {
        // do something
        return;
    }
    // do something
});

net

$net->batch(true);
$net->version();
$net->listening();

$net->provider->execute(function ($err, $data) {
    if ($err !== null) {
        // do something
        return;
    }
    // do something
});

API

Todo.

License

MIT