shahradelahi/coindesk-ticker

This package is abandoned and no longer maintained. The author suggests using the shahradelahi/coinmarketcap package instead.

A PHP library to get realtime prices from CoinDesk.

0.1 2021-08-02 11:39 UTC

This package is auto-updated.

Last update: 2022-09-20 13:26:38 UTC


README

Help wanted: This library is officially depreciated and will only be actively maintained by the community.
Pull requests are welcome.

PHP CoinDesk Price Ticker

This project is for catching realtime cryptocurrency prices form CoinDesk.

NOTE: Not recommended for non PHP-Cli, But anyway it's work well.

Requirements

ext-openssl: *
ext-curl: *
ext-json: *
php: >=8.0

Installation

composer require shahradelahi/coindesk-ticker
Click for help with installation

Install Composer

If the above step didn't work, install composer and try again.

Debian / Ubuntu

sudo apt-get install curl php-curl
curl -s http://getcomposer.org/installer | php
php composer.phar install

Composer not found? Use this command instead:

php composer.phar require "shahradelahi/coindesk-ticker"

Windows:

Download installer for Windows

Getting started

composer require shahradelahi/coindesk-ticker

require 'vendor/autoload.php';
$CDApi = new CoinDesk\Api();

=======

Price Streaming

Return ticks of the all supported cryptocurrencies in CoinDesk, and it has a timer for closing the streamer, make sure you will fill it.

$Settings = [
    'close_time' => strtotime('+30 minute', time()) // Required
];

$CDApi->ticker()->setTicker(function (array $Tick) {

    // Print out the ticks
    echo "<pre>" . json_encode($Tick, JSON_PRETTY_PRINT) . "</pre>"; 
    
}, $Settings);
View Response
[
   {
	  "iso": "BTC",
	  "name": "Bitcoin",
	  "slug": "bitcoin",
	  "change": {
		 "percent": -4.896072815000544,
		 "value": -2041.6934352962
	  },
	  "ohlc": {
		 "o": 41700.6346196656,
		 "h": 41808.4166996006,
		 "l": 39292.9291308613,
		 "c": 39826.5392045181
	  },
	  "circulatingSupply": 18773462.54282542,
	  "marketCap": 747682041966.3883,
	  "ts": 1627900353000
   },
   {
	  "iso": "ETH",
	  "name": "Ethereum",
	  "slug": "ethereum",
	  "change": {
		 "percent": -0.040842089316403665,
		 "value": -1.0614868266
	  },
	  "ohlc": {
		 "o": 2599.0022655374,
		 "h": 2698.4745999226,
		 "l": 2511.0200978405,
		 "c": 2601.7565990196
	  },
	  "circulatingSupply": 116933867.71823,
	  "marketCap": 304233461984.79083,
	  "ts": 1627900353000
   }
]

One-Tick

Returns a single tick of the streaming method, and the response is exactly the response of the streamer.

$OneTick = $CDApi->ticker()->getOneTick();
echo "<pre>" . json_encode($OneTick, JSON_PRETTY_PRINT) . "</pre>";
View Response
[
   {
	  "iso": "BTC",
	  "name": "Bitcoin",
	  "slug": "bitcoin",
	  "change": {
		 "percent": -4.896072815000544,
		 "value": -2041.6934352962
	  },
	  "ohlc": {
		 "o": 41700.6346196656,
		 "h": 41808.4166996006,
		 "l": 39292.9291308613,
		 "c": 39826.5392045181
	  },
	  "circulatingSupply": 18773462.54282542,
	  "marketCap": 747682041966.3883,
	  "ts": 1627900353000
   },
   {
	  "iso": "ETH",
	  "name": "Ethereum",
	  "slug": "ethereum",
	  "change": {
		 "percent": -0.040842089316403665,
		 "value": -1.0614868266
	  },
	  "ohlc": {
		 "o": 2599.0022655374,
		 "h": 2698.4745999226,
		 "l": 2511.0200978405,
		 "c": 2601.7565990196
	  },
	  "circulatingSupply": 116933867.71823,
	  "marketCap": 304233461984.79083,
	  "ts": 1627900353000
   }
]

BPI Current Price

It's just current price of Bitcoin in 3 different pairs.

Pairs: USD, EUR, GBP

$CurrentPrice = $CDApi->getCurrentPrice();
echo "<pre>" . json_encode($CurrentPrice, JSON_PRETTY_PRINT) . "</pre>";
View Response
{
   "time": {
	  "updated": "Aug 2, 2021 11:08:00 UTC",
	  "updatedISO": "2021-08-02T11:08:00+00:00",
	  "updateduk": "Aug 2, 2021 at 12:08 BST"
   },
   "disclaimer": "This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org",
   "chartName": "Bitcoin",
   "bpi": {
	  "USD": {
		 "code": "USD",
		 "symbol": "&#36;",
		 "rate": "39,517.8017",
		 "description": "United States Dollar",
		 "rate_float": 39517.8017
	  },
	  "GBP": {
		 "code": "GBP",
		 "symbol": "&pound;",
		 "rate": "28,430.0549",
		 "description": "British Pound Sterling",
		 "rate_float": 28430.0549
	  },
	  "EUR": {
		 "code": "EUR",
		 "symbol": "&euro;",
		 "rate": "33,233.9180",
		 "description": "Euro",
		 "rate_float": 33233.918
	  }
   }
}