我在 PHP 中使用比特币货币转换器。所以我可以将比特币转换为任何货币(比如美元)和任何货币(比如美元)到比特币。
有什么api可以做到吗??到目前为止,我正在使用此网址将任何货币转换为比特币https://blockchain.info/tobtc?currency=USD&value=83.652
但如何做到这一点是相反的(从比特币转换为货币)。我也不知道这个结果是否正确。
使用它工作得很好。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);
?>
我之前使用 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 的工作解决方案。
我从我最近创建的一个解决相同用例的项目中提取了一个特性,并将其作为开源框架不可知的 php 库发布。
https://github.com/jimmerioles/bitcoin-currency-converter-php
一个简单、轻量级、可扩展和快速的比特币到货币转换器,反之亦然,基于您选择的提供商的当前汇率:Coinbase、Coindesk、Bitpay 等。
通过作曲家:
$ 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