A library for accessing live exchange market data for many different exchanges, used by Openclerk and live on CryptFolio.
This extends on the abstract currency definitions provided by openclerk/currencies.
Include openclerk/exchanges
as a requirement in your project composer.json
,
and run composer update
to install it into your project:
{
"require": {
"openclerk/exchanges": "dev-master"
}
}
Get the markets supported by an exchanges:
use \Monolog\Logger;
$logger = new Logger("log");
$exchange = new \Exchange\BTCe();
print_r($exchange->fetchMarkets($logger));
Get the current trade values for an exchange market, which will always include
at least last_trade
, and may include bid
, ask
, high
, low
, volume
, avg
and/or vwap
:
$exchange = new \Exchange\BitNZ();
print_r($exchange->fetchRates('nzd', 'btc', $logger));
Each exchange comes with a suite of tests to check each associated service.
composer install
vendor/bin/phpunit
To run the tests for a single exchange:
vendor/bin/phpunit --bootstrap "vendor/autoload.php" test/CoinbaseTest
To get debug output for the tests (such as CURL requests and decoded output),
add the --debug
switch to your vendor/bin/phpunit
command.
Pull requests that contribute new exchanges are welcome.
For new currencies, make sure that you also provide an associated
CurrencyTest
so that the currency is automatically testable.
- Generate README list of currencies/services automatically
- Link to live APIs on CryptFolio
- CI build server and link to test results