pashaster12 / laravel-crypto-stats
该包允许获取加密货币钱包信息
Requires
- php: >=7.1.0
- guzzlehttp/guzzle: ^6.3
This package is not auto-updated.
Last update: 2024-09-29 05:48:33 UTC
README
这是一个Laravel 5包,允许获取加密货币钱包信息。您可以使用它来监控不同Laravel应用程序中的钱包信息,例如,像这样。
这是一个基于https://chain.so和https://etherscan.io API的PHP包装器。
文档
功能列表
该包提供以下功能
- 验证加密货币钱包地址。
- 获取当前加密货币钱包余额。
- 生成链接到区块链浏览器,您可以展示关于加密货币钱包的信息。
支持的加密货币
- ETH
- BTC
- LTC
- DOGE
- DASH
- ZEC
安装
laravel-crypto-stats Laravel包的安装步骤与所有Composer包的标准步骤相同。
通过执行以下命令将最新包版本添加到您的composer.json中
composer require pashaster12/laravel-crypto-stats
或者,您也可以通过以下require
部分编辑手动将其添加到composer.json中
"require": {
...
"pashaster12/laravel-crypto-stats": "*",
...
},
然后在您的项目根目录的终端中运行以下命令,以更新项目依赖关系并重新生成composer autoload文件
composer update
好的!:simple_smile: 现在是时候在您的Laravel应用程序中识别包代码了。为此,请执行以下步骤
Laravel < 5.5
直接在您的app配置文件config/app.php config/app.php
中的providers
部分注册提供者
'providers' => [ // ... LaravelCryptoStats\LaravelCryptoStatsProvider::class, ]
在同一个文件中的aliases
部分添加facade别名
'aliases' => [ ... 'CryptoStat' => LaravelCryptoStats\LaravelCryptoStatsFacade::class, ]
Laravel >= 5.5
对于5.5以上的Laravel版本,框架中存在一个自动检测机制,用于自动检测Service Provider
和Facade
。为了实现它,已经进行了必要的包设置,因此您不需要手动将Service Provider
和Facade
别名添加到config config/app.php
中。
配置
在您的Laravel应用程序中安装包后,您可以使用以下命令将包的配置文件移动到您的应用config
目录,以便进行进一步的定制
php artisan vendor:publish --provider=LaravelCryptoStats\LaravelCryptoStatsProvider
到目前为止,名为laravel_crypto_stats.php
的包配置文件包含以下参数
/* * Default cryptocurrencies which user want to use in the application */ 'currencies' => [ 'ETH', 'LTC', 'BTC', ], /* * API key for Etherscan connection */ 'etherscan_api_key' => env('ETHERSCAN_API_KEY'),
currencies
数组包含默认可用的加密货币。您可以使用它们在您的应用程序UI中查看它们,例如。
重要!
currencies
配置值必须与包支持的货币列表相匹配,否则您将获得异常。
etherscan_api_key
参数包含访问etherscan.io
API的API密钥。它只是ETHERSCAN_API_KEY
变量在.env
文件中的链接。因此,创建它并将所需值移动到那里或直接将其放置在etherscan_api_key
配置中。
代码示例
要在您的Laravel应用程序代码中使用包方法,您应该首先使用以下代码将其包含在您的类中
use CryptoStat;
可用包方法使用示例
// get the list of the default currencies $currencies = CryptoStat::getCurrencies(); //array in format [ 'ETH', 'BTC', ... ] // validate the cryptocurrency wallet address CryptoStat::setCurrency($this->currency); $is_valid = CryptoStat::validateAddress($value); //bool // get the cryptocurrency wallet balance // method returns float number with the 8 decimal digits (chain.so API response format) CryptoStat::setCurrency($wallet->currency); $new_balance = CryptoStat::getBalance($wallet->address); //float // generate links to block explorers CryptoStat::setCurrency($wallet['currency']); $block_explorer_link = CryptoStat::getBlockExplorerLink($wallet['address']); //string
包代码结构
如以下所示,该包是这些API的Laravel 5 PHP包装器,允许获取关于加密货币钱包的不同信息
因此,在 src\Connectors
文件夹中有 API 连接器类,它扩展了抽象类 AbstractConnector
。所以,如果您想添加新方法,首先将它们写入到 AbstractConnector
中。
如果您想添加新的 API 连接器,将相应的类添加到 src\Connectors
文件夹中,并重新排序从 AbstractConnector
中的所有抽象方法。
同时,您应该在 LaravelCryptoStatsServiceProvider
中将它们注入到 Laravel 服务容器
中,并在 register
方法中使用 laravel-crypto-stats.connectors
标签进行 API 连接器自动检查。同时,在 provides
方法中也要复制它们,因为 LaravelCryptoStatsServiceProvider
是 延迟的
。
所有用于包主要类工作的通用类都位于 src\Services
文件夹中。
贡献者信息
该包欢迎贡献。如果您想成为贡献者,请发送包含代码更改的 pull request,并编写带有您建议和问题列表的 issue。
未来计划
未来计划并添加以下功能
- 功能和单元测试
- 新的 API 连接器和方法
捐赠
这个包是在无数个不眠之夜和咖啡杯的制作下完成的。所以,如果我的工作对您有帮助,我觉得应该给我一杯咖啡😊
您可以通过发送 Ethereum 到以下地址来表达尊重:0xf55b7BD86bc72b08427E7b5748E1eDD05f1AC8bd
或者您可以使用 WebMoney
交易到以下钱包
- WMR (RUB 货币):
R192612541367
- WMZ (USD 货币):
Z174150497388
❤️ 感谢!