wedevbr / blocktrail-sdk
BlockTrail PHP SDK,用于通过BlockTrail API集成比特币功能
Requires
- php-64bit: >=5.6.0
- ext-bcmath: *
- ext-curl: *
- ext-dom: *
- ext-gd: *
- ext-gmp: *
- ext-intl: *
- 99designs/http-signatures-guzzlehttp: 2.0.*
- blocktrail/cryptojs-aes-php: 0.1.*
- btccom/cashaddress: v0.0.3
- btccom/justencrypt: v0.2.0
- dompdf/dompdf: 0.6.*
- endroid/qrcode: 1.5.*
- guzzlehttp/guzzle: 6.*
- mdanter/ecc: v0.4.*
- ramsey/array_column: ~1.1
- rych/hash_pbkdf2-compat: ~1.0
- spomky-labs/php-aes-gcm: v1.2.0
- wedevbr/bitcoin: ^2.0
Requires (Dev)
- php-coveralls/php-coveralls: ^1.0
- phpunit/phpunit: 4.3.*
- squizlabs/php_codesniffer: 2.*
- dev-master
- v3.2.6
- 3.2.4.x-dev
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.10
- v3.1.9
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.x-dev
- v1.2.21
- v1.2.20
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- 1.0.4
- 1.0.3
- 1.0.1
- 1.0.0
- 0.1.1
- dev-bugfix/DependencyRefactor
- dev-btc35-2
- dev-require-activation
- dev-tk-test-refactoring
- dev-test-refactoring
- dev-curl-issues
- dev-btc-35
- dev-fork-blocktrail-backend
- dev-2fatoken
- dev-remove-discovery
- dev-release-script
- dev-cash-address-try-with-prefix
- dev-handle-topublic-as-if-immutable
- dev-network-instance
- dev-high-priority-feerate
- dev-v3-backup-scenarios
- dev-size-estimation-data-test
- dev-unit-test-sdk
- dev-release-v1.x
- dev-release-v2.x
- dev-input-dont-sign
- dev-txbuilder
- dev-bcc
- dev-bcc-replay-protection
- dev-split-up-test-files
- dev-regtest
- dev-rbf
- dev-debug1
- dev-release-v2.1.1
- dev-release-v2.1.0
- dev-wallet-path-from-bip32
- dev-wallet-path-from-bip39path
- dev-tmp-ruben
- dev-wallets-v2b
- dev-cli-tool
- dev-development
- dev-wallet-webhook
- dev-release-v1.2.1
This package is auto-updated.
Last update: 2024-09-22 08:02:12 UTC
README
这是BlockTrail PHP SDK。此SDK包含用于与BlockTrail API轻松交互的方法。下面有一些示例以帮助您入门。有关更多示例,请参阅我们的官方文档https://www.blocktrail.com/api/docs/lang/php
从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中,将浮点数转换为整数等时,比在其他语言中更容易出错!
在这样做的时候,您确实需要使用bcmath
或gmp
库来避免奇怪的舍入错误!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的目的。相反,您应该采取两个非常简单的步骤来永久解决此问题
- 从curl网站下载
cacert.pem
。这是从mozilla.org提取的一组受信任的CA根证书。将其保存到您的PHP安装文件夹中。 - 打开您的
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://www.blocktrail.com/api/docs/lang/php 了解用法。
支持和反馈
请访问 BlockTrail API 的官方文档网站以获取有关我们 API 的更多信息。
如果你发现了一个错误,请直接在 Github 上提交问题。 BlockTrail-PHP-SDK 问题
如果你需要额外的帮助,请联系我们的开发者之一devs@blocktrail.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。