gmajor/sr25519-bindings

sr25519 绑定

dev-main 2023-02-23 00:27 UTC

This package is auto-updated.

Last update: 2024-09-23 04:02:18 UTC


README

PHP 绑定用于 sr25519 加密库的 GOLANG 实现

参考 https://github.com/ChainSafe/go-schnorrkel

安装

composer require gmajor/sr25519-bindings

构建

要求

  1. PHP 7 >= 7.4.0,PHP 8 FFI 支持
  2. GOLANG (>1.15)

构建

cd go && go build -buildmode=c-shared -o sr25519.so . && mv sr25519.so ../src/Crypto/sr25519.so

基本用法

自动加载

编码器支持 PSR-4 自动加载器。

<?php
# When installed via composer
require_once 'vendor/autoload.php';

密钥对

初始化 sr25519 密钥对

<?php
use Crypto\sr25519;
$sr = new sr25519();
$secretSeed = "...";
$pair = $sr->InitKeyPair("{$secretSeed}");

签名消息

您可以通过传递消息来签名消息

<?php
use Crypto\sr25519;
$sr = new sr25519();
$sr->Sign($sr->InitKeyPair("secretSeed"), "msg");

验证签名

验证签名证明

<?php
use Crypto\sr25519;
$sr = new sr25519();
$sr->VerifySign($sr->InitKeyPair("secretSeed"), "helloworld", "signature");

XXHash 64 支持

https://github.com/pierrec/xxHash/xxHash64 的实现

<?php
use Crypto\sr25519;
$sr = new sr25519();
$sr->XXHash64CheckSum(0, "helloworld");

测试

make test

资源

许可

该软件包在 MIT 许可证 下作为开源软件提供