olakunlevpn / bitcoin_ng
A lightweight bitcoin to Nigerian (NGN) converter and vice versa based on current exchange rates from your chosen provider: Coinbase, Coindesk, Bitpay and etc.
Requires
- php: >=7.0
- composer/composer: ^1.5
- guzzlehttp/guzzle: ^6.3
- illuminate/cache: ^5.5
- illuminate/filesystem: ^5.5
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.7
This package is auto-updated.
Last update: 2024-10-15 13:49:03 UTC
README
Simple bitcoin converter from Nigerian (NGN) currency to bitcoin and also support USD to bitcoin conversion only.
Features
It is simple, lightweight, extensible, framework agnostic and fast.
-
You can convert Bitcoin to any currency Naira (NGN) and USD only
-
You can convert Nigerian (NGN) currency (ISO 4217 fiat or another cryptocurrency) to Bitcoin
-
It supports different exchange rates providers: Coinbase, Coindesk, Bitpay
-
It has baked-in caching (PSR16 compliant, swappable with your own or your framework's)
Install
Lets begin by installing the library by Composer:
$ composer require olakunlevpn/bitcoin_ng
Usage
You can then convert Bitcoin to any currency (ISO 4217 fiat or crypto) by:
use olakunlevpn\BitcoinNairaConverter\Converter; $convert = new Converter; // uses Coinbase as default provider echo $convert->toCurrency('NGN', 0.5); // 2,250,50.00 echo $convert->toCurrency('LTC', 0.5); // 10.12345678
or you can use the helper function for convenience:
// uses Coinbase as default provider echo to_currency('NGN', 0.5); // 2,250,50.00 echo to_currency('LTC', 0.5); // 10.12345678
You can also convert any currency (ISO 4217 fiat or crypto) to Bitcoin:
use olakunlevpn\BitcoinNairaConverter\Converter; $convert = new Converter; // uses Coinbase as default provider echo $convert->toBtc(10000, 'NGN'); // 0.0036664 echo $convert->toBtc(20, 'LTC'); // 1.12345678
and it also has its helper function for convenience:
// uses Coinbase as default provider echo to_btc(10000, 'NGN'); // 0.0036664 echo to_btc(20, 'LTC'); // 2.12345678
You can use different exchange rates from providers:
use olakunlevpn\BitcoinNairaConverter\Converter; use olakunlevpn\BitcoinNairaConverter\Provider\CoinbaseProvider; use olakunlevpn\BitcoinNairaConverter\Provider\CoindeskProvider; use olakunlevpn\BitcoinNairaConverter\Provider\BitpayProvider; $convert = new Converter(new CoinbaseProvider); $convert = new Converter(new CoindeskProvider); $convert = new Converter(new BitpayProvider);
or if you prefer to use the helper functions:
echo to_currency('NGN', 0.5, new CoindeskProvider); // 2,250,50.00 echo to_currency('LTC', 0.5, new BitpayProvider); // 10.12345678 echo to_btc(10000, 'NGN', new CoindeskProvider); // 0.00045678 echo to_btc(20, 'LTC', new BitpayProvider); // 2.12345678
You can specify cache expire time (ttl) on provider by:
new CoinbaseProvider($httpClient, $psr16CacheImplementation, 5); // cache expires in 5mins, defaults to 60mins
Change log
Initial release
Testing
$ phpunit
Show full specs and features:
$ phpunit --testdox
License
The MIT License (MIT). Please see License File for more information.