hubwiz01/hyperledger-fabric-sdk-php-cn

Hyperledger Fabric 开发 PHP 应用程序 SDK

0.1.1 2017-12-09 00:13 UTC

This package is auto-updated.

Last update: 2022-05-05 13:27:25 UTC


README

中文翻译如下:

Build Status Coverage Status Scrutinizer Code Quality

Hyperledger Fabric Client SDK for PHP

欢迎使用PHP SDK for Hyperledger项目。此SDK的主要目标是促进客户端执行基本的链代码相关操作,例如:创建通道,安装和访问链代码等。

  • 如果你是java程序员你可以看这个:java fabric

注意,fabric-sdk-php是一个独立的客户端接口,用于通过运行的区块链网络访问网络信息和分类帐数据,它不能用作应用程序定义的通道数据的持久性介质。

安装

composer require americanexpress/hyperledger-fabric-sdk-php

用法

下面,您将找到高级和简洁的代码片段,演示如何与此SDK进行交互。

Channel::queryByChaincode

查询第一个组织中的第一个节点(默认行为):

$config = new \AmericanExpress\HyperledgerFabricClient\Config\ClientConfig([
    // See `test/integration/config.php` for an example.
]);
$response = \AmericanExpress\HyperledgerFabricClient\Client\ClientFactory::fromConfig($config)
    ->getChannel('foo')
    ->getChaincode('example_cc')
    ->invoke('query', 'a');

查询指定组织:

$config = new \AmericanExpress\HyperledgerFabricClient\Config\ClientConfig([
    // See `test/integration/config.php` for an example.
]);
$response = \AmericanExpress\HyperledgerFabricClient\Client\ClientFactory::fromConfig($config, 'peerOrg1')
    ->getChannel('foo')
    ->getChaincode('example_cc')
    ->invoke('query', 'a');

查询指定组织和节点:

$config = new \AmericanExpress\HyperledgerFabricClient\Config\ClientConfig([
    // See `test/integration/config.php` for an example.
]);
$options = new \AmericanExpress\HyperledgerFabricClient\Transaction\TransactionOptions([
    'peer' => 'peer1',
]);
$response = \AmericanExpress\HyperledgerFabricClient\Client\ClientFactory::fromConfig($config, 'peerOrg1')
    ->getChannel('foo')
    ->getChaincode('example_cc')
    ->invoke('query', 'a', $options);

查询链码路径和版本:

$config = new \AmericanExpress\HyperledgerFabricClient\Config\ClientConfig([
    // See `test/integration/config.php` for an example.
]);
$response = \AmericanExpress\HyperledgerFabricClient\Client\ClientFactory::fromConfig($config)
    ->getChannel('foo')
    ->getChaincode(['name' => 'example_cc', 'version' => '1', 'path' => 'github.com/example_cc'])
    ->invoke('query', 'a');

阶段1

  • 对于阶段1,我们为基本的链代码操作提供客户端访问,例如通过链代码查询。
  • 假设我们有一个正在运行的区块链网络,具有预定义的通道和已安装的链码。
  • 提供预定义脚本以根据测试用例启动测试网络。

第2阶段(即将发布)

  • 在下一个版本中,我们的目标是添加更多链代码操作,如创建通道,调用和安装等

Fabric和Fabric-ca v1.1.0的最新版本

Hyperledger Fabric v1.1.0目前正在积极开发中。

您可以转到Hyperledger存储库来克隆这些项目。

先决条件

Docker version ^17.0

检查Docker的版本:

docker --version

PHP version ^7.1

检查php版本:

php --version

PHP GMP extension

检查 PHP-GMP 安装文件 php.ini

Composer tool

检查 composer 版本 (应该是 1.5 or 以上)

composer --version

为开发安装 SDK

git clone https://github.com/americanexpress/hyperledger-fabric-sdk-php && cd $_
composer update

生成 SDK API 文档

composer docs
open build/docs/index.html

运行End2End测试用例

在运行测试之前,我们需要调出结构网络和fixture(s):

composer fixture:up

目前,我们正在提供查询链码的示例测试用例,可以按如下方式运行:

composer test:integration

运行测试后,随时关闭网络:

composer fixture:down

更多内容可以看Docker Compose

.proto 文件重新生成 PHP 类文件

composer protoc

更多内容请阅读compiling PHP code from proto files.

特约

我们欢迎您对Github上的American Express开源社区感兴趣。任何开源的贡献者由American Express Open Source Community的项目必须接受并签署一份表示同意的协议以下条款。本协议授予American Express和软件接收者的权利除外由American Express分发,您保留您的贡献中的所有权利,所有权和利益(如果有)。请填写协议

请随意打开pull请求,并查看CONTRIBUTING.md以了解提交格式详细信息。

执照

根据此项目所做的任何贡献将受Apache License 2.0的约束。

行为守则

该项目遵守American Express Community Guidelines。通过参与,你将兑现这些准则。