88 lines
1.4 KiB
Markdown
88 lines
1.4 KiB
Markdown
# web3.php
|
|
|
|
[](https://travis-ci.org/sc0Vu/web3.php)
|
|
[](https://codecov.io/gh/sc0Vu/web3.php)
|
|
|
|
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;
|
|
|
|
$web3 = new Web3(new HttpProvider('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
|
|
}
|
|
});
|
|
```
|
|
|
|
### batch
|
|
```
|
|
$web3->batch(true);
|
|
$web3->clientVersion();
|
|
$web3->hash('0x1234');
|
|
$web3->execute(function ($err, $data) {
|
|
if ($err !== null) {
|
|
// do something
|
|
return;
|
|
}
|
|
// do something
|
|
})
|
|
```
|
|
|
|
### Eth
|
|
```
|
|
use Web3/Web3;
|
|
|
|
$web3 = new Web3('http://localhost:8545');
|
|
$eth = $web3->eth;
|
|
```
|
|
|
|
Or
|
|
|
|
```
|
|
use Web3/Eth;
|
|
|
|
$eth = new Eth('http://localhost:8545');
|
|
```
|
|
|
|
# API
|
|
|
|
Todo.
|
|
|
|
# License
|
|
MIT
|