bzzhh / pezos
该包的最新版本(v0.1.6)没有提供许可证信息。
Tezos 库
v0.1.6
2023-06-13 21:53 UTC
Requires
- php: ^8.1
- ext-sodium: *
- jane-php/open-api-runtime: ^7.5
- simplito/elliptic-php: ^1.0
- symfony/config: ^5.3|^6.0
- symfony/dependency-injection: ^5.3|^6.0
- symfony/http-kernel: ^5.3|^6.0
- tuupola/base58: ^2.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- jane-php/open-api-3: ^7.5
- nyholm/psr7: ^1.4
- php-http/client-common: ^2.3
- php-http/curl-client: ^2.2
- php-http/discovery: ^1.13
- php-http/message: ^1.11
- phpunit/phpunit: ^10
- symfony/var-dumper: ^5.2
- vimeo/psalm: ^5.8
README
Tezos 的 PHP 库
composer require bzzhh/pezos
功能
处理 Secp256k1 和 Ed25519 密钥。
从密钥生成密钥实例
$key = Pezos\Keys\Key::fromBase58( 'edskRkGanpJ2fEBdV5xjhFS6DaB5CUsGwZPuTD73VoioQYTTJJKcxJPXXa5FrjA2e8y2LKqwdXNqB9WB4yAQG3gaQTnp15LwDu', ); $key->getPublicKey(); // "edpkvCdu6RSSe379P2ACo8rGoqNRzQRRwNmHfj1dBr4DnSTKwCNxi5" $key->getAddress(); // "tz1PAeuxsMA76x5cnKPkWKof2iGneN3Mb1eQ"
从公钥生成密钥实例
$pubKey = Pezos\Keys\PubKey::fromBase58( 'edpkvCdu6RSSe379P2ACo8rGoqNRzQRRwNmHfj1dBr4DnSTKwCNxi5', ); $pubKey->getAddress(); // "tz1PAeuxsMA76x5cnKPkWKof2iGneN3Mb1eQ"
签名消息
$privKey->sign('05010000000548656c6c6f'); // edsigtxHb4HCsgf3zLLcTx4Rj23Y3CSJf8jaRXwoVHZJgSsMhzFoxKtinx2TT5FgYKprLVQ9nq8o93MCpmxaTuRB7igT9b6nZyf
验证已签名消息
$pubKey->verifySignature( 'edsigtxHb4HCsgf3zLLcTx4Rj23Y3CSJf8jaRXwoVHZJgSsMhzFoxKtinx2TT5FgYKprLVQ9nq8o93MCpmxaTuRB7igT9b6nZyf', '05010000000548656c6c6f', ); // true
RPC
使用 jane 生成的 RPC 客户端可用。
公开的 API 文件取自 官方 Tezos 仓库。
Symfony
启用 Bundle
将 Bundle 添加到项目 config/bundles.php
文件中注册的列表中来启用 Bundle
// config/bundles.php return [ // ... Bzzhh\Pezos\Bridge\Symfony\BzzhhPezosBundle::class => ['all' => true], ];
配置
配置您的宿主
# config/packages/bzzhh_pezos.yaml bzzhh_pezos: rpc_host: https://mainnet-tezos.giganode.io/
开发工作流程
- 使用
make up
启动服务 - 如果可能,进行 TDD,
make test
资源
感谢这些库,它们的代码只是被转换成 PHP。