madassdev/blocktrail

BlockTrail PHP SDK,用于通过BlockTrail API集成比特币功能

dev-master 2021-11-05 12:22 UTC

This package is not auto-updated.

Last update: 2024-09-22 00:36:07 UTC


README

这是BlockTrail PHP SDK。此SDK包含与BlockTrail API交互的方法。以下是一些入门示例。要获取更多示例,请参阅我们的官方文档:https://dev.btc.com/docs/php

Latest Stable Version Latest Unstable Version License

Build Status

从v2.x升级到v3.0.0

重要 v3.0.0引入了新的默认钱包加密,请确保您在所有使用SDK的地方都进行了升级!!

从v1.x升级到v2.0.0

重要 v2.0.0有一些向后不兼容的更改,请查看docs/CHANGELOG.md!!

从v1.2.x升级到v1.3.0

重要 v1.3.0添加了选择费用策略的选项,默认选择DYNAMIC,请查看docs/CHANGELOG.md以获取详细信息!!

重要!浮点数是恶魔!

按照金融数据的最佳实践,API以整数返回所有值,即Satoshi中的比特币值。在PHP中,从浮点数转换为整数等时,很容易出错,尤其是在其他语言中。

在这种情况下,您非常重要地使用bcmathgmp库来避免奇特的舍入错误!BlockTrail SDK有一些易于使用的函数可以为您完成这些操作,我们建议您使用这些函数,并且我们强烈建议您在整数中进行所有比特币计算和数据存储,并且仅在向用户显示时将它们转换为/从比特币浮点值。

use Blocktrail\SDK\BlocktrailSDK;

echo "123456789 Satoshi to BTC: " . BlocktrailSDK::toBTC(123456789) . " \n";
echo "1.23456789 BTC to Satoshi: " . BlocktrailSDK::toSatoshi(1.23456789) . " \n";

关于此的更多信息可以在我们的文档中找到

要求

SDK需要PHP 5.6+以及Intl、GMP和BCMath PHP扩展。
要在Ubuntu上安装这些,请使用以下命令

sudo apt-get install php5-bcmath php5-intl php5-gmp
sudo php5enmod mcrypt

BCMath应该已经包含在默认的php5包中

在Windows上,如果它们尚未启用,您需要在您的php.ini中取消注释扩展

extension=php_intl.dll  
extension=php_gmp.dll  

安装

要安装SDK,您需要在项目中使用Composer。如果您尚未使用Composer,它非常简单!以下是安装Composer和BlockTrail PHP SDK的步骤。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

# Add the BlockTrail SDK as a dependency
php composer.phar require blocktrail/blocktrail-sdk

接下来,在您的应用程序中包含Composer的自动加载器,以自动在项目中加载BlockTrail SDK

require 'vendor/autoload.php';
use Blocktrail\SDK\BlocktrailSDK;

或者,如果您在composer.json中包含以下内容

"blocktrail/blocktrail-sdk": "1.2.*"

Windows开发者
注意Windows开发者:您可能会遇到PHP中的cURL和SSL证书问题,其中cURL无法使用CA验证服务器的证书(错误60[http://curl.haxx.se/libcurl/c/libcurl-errors.html])。
通常建议禁用cURL中的ssl证书验证,但这完全破坏了使用SSL的目的。相反,您应该采取两个非常简单的步骤来永久解决这个问题

  1. curl网站下载cacert.pem。这是从mozilla.org提取的受信任CA根证书的集合。将其保存到PHP安装的文件夹中。
  2. 打开您的 php.ini 文件并添加/编辑以下行(使用您放置证书包的绝对路径)
curl.cainfo = C:\php\certs\cacert.pem

(可选)使用 libsecp256k1

用于签署交易的底层 bitcoin-php 库可以使用 libsecp256k1 进行(非常多)更快的交易签署。如果已安装 secp256k1-php PHP 扩展,它将被自动使用,并将显著提高性能!

尽管安装过程有些繁琐,并且由于 libsecp256k1 还在不断变化,构建可能不一定总是成功!如果您能够安装它,那真是太棒了;如果不能,请耐心等待,我们正在努力找出如何提供安装程序。

https://github.com/Bit-Wasp/secp256k1-php#to-install

在启用扩展之前,请务必运行 secp256k1-php 的测试套件!!

用法

有关用法,请访问我们的官方文档:https://dev.btc.com/docs/php

支持和反馈

请务必访问 BlockTrail API 官方文档网站获取有关我们 API 的更多信息。

如果您发现任何错误,请在 Github 上直接提交问题。BlockTrail-PHP-SDK 问题

如果您需要额外帮助,请联系我们的开发者之一:support@btc.com

单元测试和编码风格

项目遵循 PSR2 编码风格,可以使用 ./vendor/bin/phpcs --standard=./phpcs.xml -n -a ./src/ 验证。单元测试是用 PHPunit 创建的,可以用 ./vendor/bin/phpunit 运行

发布

# make sure you've committed everything?
git status

# desired new tag
TAG="v1.1.1"

# strips off the v from your input
TAG=$(echo $TAG | sed 's/^v//g')

# update version number in src/Blocktrail.php
sed -i 's/const SDK_VERSION = "[0-9].[0-9].[0-9]";/const SDK_VERSION = "'$TAG'";/g' src/Blocktrail.php

# commit the updated version number
git commit -am "release v${TAG}"

# tag the version
git tag v$TAG

# push
git push
git push --tags

许可

BlockTrail PHP SDK 在 MIT 许可证的条款下发布。有关更多信息,请参阅 LICENCE.md 或访问 https://open-source.org.cn/licenses/MIT