pashaster12/laravel-crypto-stats

该包允许获取加密货币钱包信息

1.0.0 2018-08-23 19:23 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:48:33 UTC


README

StyleCI Build Status Scrutinizer Code Quality License Total Downloads Latest Stable Version Ethereum donate button

这是一个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 ProviderFacade。为了实现它,已经进行了必要的包设置,因此您不需要手动将Service ProviderFacade别名添加到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

❤️ 感谢!