tranbaohuy / monitor-eth-tx
Monitor Kyber transaction.
v1.0.11
2019-04-03 10:43 UTC
Requires
- php: >=7.1.0
- sc0vu/web3.php: dev-master
README
Install
Set minimum stability to dev
"minimum-stability": "dev"
Then
$ composer require kyber/monitor-kyber-tx
Usage
<?php require_once __DIR__ . '/vendor/autoload.php'; use ETH\Monitor; $monitor = new Monitor([ 'node' => 'https://ropsten.infura.io', 'network' => 'ropsten', 'blockConfirm' => 7, 'txLostTimeout' => 15, // minutes 'intervalRefetchTx' => 10, // seconds 'checkPaymentValid' => true, 'receivedAddress' => '0x63b42a7662538a1da732488c252433313396eade', 'amount' => 0.05, 'receivedToken' => "OMG", 'useIntervalLoop' => false ]); $tx = '0x5388158e57fecefd3a850283f606ab58e4670c29f730f470ab7f413551c01af4'; $data = $monitor->checkStatus($tx);
Currently, the following options are supported.
Field | Type | Default | Detail |
---|---|---|---|
node | String | https://ropsten.infura.io | URL of node |
network | String | ropsten (mainnet, rinkerby) | Ethereum network |
blockConfirm | Number | 7 | Number of block confirmation |
txLostTimeout | Number | 15 | Time until declare a tx is lost |
intervalRefetchTx | Number | 5 | Tx will be re-check after the time until data gotten |
checkPaymentValid | Boolean | false | Set "true" if you want to check payment data |
receivedAddress | String | Wallet your want to receive after transaction | |
amount | Number | Amount your want to receive after transaction | |
receivedToken | String | Token your want to receive after transaction | |
useIntervalLoop | Boolean | false | If you don't want to get response data until tx success |
useDatabase | Boolean | false | Set true if you want to use database to store tx, table with name "kyber_tx" would be created. And you should config server to run cronjob to update tx status (See example below) |
servername | String | Database server name (only support MySql version in this version) | |
username | String | Database username | |
password | String | Database password | |
db | String | Database db name |
Response data
[ "status" => "SUCCESS", // "FAIL" , "LOST" "from" => [ "address" => "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", "decimal" => 18, "symbol" => "ETH", "amount" => "0.001", ], "to" => [ "address" => "0x4e470dc7321e84ca96fcaedd0c8abcebbaeb68c6", "decimal"=> 18, "symbol" => "KNC", "amount" => "0.368905346628", ], "sentAddress" => "0x3cf628d49ae46b49b210f0521fbd9f82b461a9e1", "receivedAddress" => "0x3cf628d49ae46b49b210f0521fbd9f82b461a9e1", "timestamp" => 1543398038, "type" => "pay", // "transfer" , "trade" "paymentValid" => "true", "paymentData" => "abc123asdasdasdassd3e423wsdfsdfsdfsdfdsfsdfsdfdsfsdfghfgh", ]
Example script to check pending transactions which stored in database.
You need to config your server to run this script via cronjob.
<?php require_once __DIR__ . '/vendor/autoload.php'; use ETH\Monitor; $monitor = new Monitor([ 'node' => 'https://ropsten.infura.io', 'network' => 'ropsten', 'useIntervalLoop' => false ]); $monitor->recheckTxDB();