bluzelle/bluzelle-php

一个用于与 Bluzelle 区块链数据库交互的 PHP 库

dev-master 2018-07-11 01:51 UTC

This package is not auto-updated.

Last update: 2024-09-19 18:55:29 UTC


README

Build Status License

Bluphant 是一个用于与 Bluzelle 区块链数据库交互的 PHP 库。

Bluzelle 是一个在蜂群系统中工作的区块链数据库,这使得可用性、完整性、互操作性和一致性变得自然。这是一个 Bluzelle 的 PHP 数据库适配器。

这里有一个示例,是此包中现成的 example,使用 docker-compose 构建。

示例

使用方法

首先,Bluphant 是一个适配器,要使用它,只需将其作为您数据库层的 $adapter 放置即可。

可能还需要构建其他两个类来与之配合工作

  • 数据映射器

    $userMapper = new UserMapper($adapter);
  • 模型

    $user = new User("Everchanging Joe", "joe@example.com");
    $userMapper->insert($user);

如何使用

安装

使用 Composer

composer require bluzelle/bluzelle-php

由于需要支持 protobuf,使用此库的必要步骤是通过以下命令安装 PECL 包

sudo pecl install protobuf-3.5.1

准备适配器

use Bluphant\BluphantAdapter;

$adapter = new BluphantAdapter('127.0.0.1', 8100);

$table = '3f966cd1-ef79-4464-b3be-81e84002550b';

语句

创建

$adapter->insert($table, [
    "key" => "key1",
    "value" => "sample value"
]);

读取

$adapter->select($table, [
    "key" => "key1"
]);

更新

$adapter->update($table, [
    "key" => "key1",
    "value" => "sample value 2"
]);

删除

$adapter->delete($table, [
    "key" => "key1"
]);

$adapter->keys($table);

执行

echo $adapter->execute();

参考

Protobuf

此库有一个针对 protobuf 的构建步骤。这是完成 Bluzelle 项目目标所必需的,该目标是为开发和业务提供一个更好的环境。

在构建步骤中,对于只是使用此库的人来说不是必需的,是在此库的根目录下运行此操作

protoc --proto_path=src/Datastructure --php_out=./src/Datastructure Database.proto