1

我在 PHP 中使用比特币货币转换器。所以我可以将比特币转换为任何货币(比如美元)和任何货币(比如美元)到比特币。

有什么api可以做到吗??到目前为止,我正在使用此网址将任何货币转换为比特币https://blockchain.info/tobtc?currency=USD&value=83.652

但如何做到这一点是相反的(从比特币转换为货币)。我也不知道这个结果是否正确。

4

3 回答 3

3

使用它工作得很好。http://data.mtgox.com/api/1/BTC现在不工作

<?php
$currency = 'USD';
$url = 'https://bitpay.com/api/rates/'.$currency;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result= curl_exec ($ch);
curl_close ($ch);
$info = json_decode($result, true);
echo "<pre>";
print_r($info);

?>
于 2014-09-18T07:19:11.710 回答
1

我之前使用 MtGox API 来实现这一点,可用作HTTP流式 Web 套接字

编辑:

好的,您可以通过以下方式获得价值:

//set currency
$currency = 'USD';
//get json response
$return = file_get_contents('http://data.mtgox.com/api/1/BTC'.$currency.'/ticker_fast');
//decode it (into an array rather than object [using 'true' parameter])
$info = json_decode($return, true);
//access the dollar value
$value = $info['return']['last_local']['value'];

它是一个公共 API,因此您无需进行身份验证,您只需获取 JSON 格式的页面内容并将其解码为数组并访问 value 元素。

您现在知道 1 BTC = 90.20505 美元 - 因此 1 美元等于 0.0110858 比特币。(1 / 90.20505)。

您可以使用任何货币执行此操作。

更新:

对于这个问题的新读者,这个解决方案不再基于 MtGox工作,请参阅下面的 Nathan 的工作解决方案。

于 2013-07-19T09:38:04.497 回答
0

我从我最近创建的一个解决相同用例的项目中提取了一个特性,并将其作为开源框架不可知的 php 库发布。

https://github.com/jimmerioles/bitcoin-currency-converter-php

一个简单、轻量级、可扩展和快速的比特币到货币转换器,反之亦然,基于您选择的提供商的当前汇率:Coinbase、Coindesk、Bitpay 等。

特征

  • 将比特币转换为任何货币(ISO 4217 法定货币或其他加密货币)
  • 将任何货币(ISO 4217 法定货币或其他加密货币)转换为比特币
  • 支持不同的汇率提供商:Coinbase、Coindesk、Bitpay
  • 烘焙缓存(符合 PSR16,可与您自己的或您的框架交换)

安装

通过作曲家:

$ composer require jimmerioles/bitcoin-currency-converter-php

用法

将比特币转换为任何货币(法定货币或加密货币):
use Jimmerioles\BitcoinCurrencyConverter\Converter;

$convert = new Converter;              // uses Coinbase as default provider
echo $convert->toCurrency('USD', 0.5); // 2000.00
echo $convert->toCurrency('LTC', 0.5); // 10.12345678

或为方便起见使用助手:

// uses Coinbase as default provider
echo to_currency('USD', 0.5); // 2000.00
echo to_currency('LTC', 0.5); // 10.12345678
将任何货币(法定货币或加密货币)转换为比特币:
use Jimmerioles\BitcoinCurrencyConverter\Converter;

$convert = new Converter;         // uses Coinbase as default provider
echo $convert->toBtc(100, 'USD'); // 0.12345678
echo $convert->toBtc(20, 'LTC');  // 1.12345678

或为方便起见使用助手:

// uses Coinbase as default provider
echo to_btc(100, 'USD'); // 0.12345678
echo to_btc(20, 'LTC');  // 2.12345678
指定汇率提供商:
use Jimmerioles\BitcoinCurrencyConverter\Converter;
use Jimmerioles\BitcoinCurrencyConverter\Provider\CoinbaseProvider;
use Jimmerioles\BitcoinCurrencyConverter\Provider\CoindeskProvider;
use Jimmerioles\BitcoinCurrencyConverter\Provider\BitpayProvider;

$convert = new Converter(new CoinbaseProvider);
$convert = new Converter(new CoindeskProvider);
$convert = new Converter(new BitpayProvider);

或为方便起见使用助手:

echo to_currency('USD', 0.5, new CoindeskProvider); // 2000.00
echo to_currency('LTC', 0.5, new BitpayProvider);   // 10.12345678
echo to_btc(100, 'USD', new CoindeskProvider);      // 0.12345678
echo to_btc(20, 'LTC', new BitpayProvider);         // 2.12345678
在提供者上指定缓存过期时间 (ttl):
new CoinbaseProvider($httpClient, $psr16CacheImplementation, 5); // cache expires in 5mins, defaults to 60mins
于 2017-09-09T06:07:06.737 回答