iamxid/iamx-server-wallet

IAMX 服务器钱包是一个 Laravel 包,用于在您的 Laravel 应用中创建和管理 IAMX 钱包。

dev-main 2023-08-26 08:01 UTC

This package is not auto-updated.

Last update: 2024-09-26 12:57:41 UTC


README

IAMX 服务器钱包是一个 Laravel 包,用于在您的 Laravel 应用中创建和管理 IAMX 钱包。

安装

使用 composer 安装 iamxid/iamx-server-wallet 包的最新版本

    composer require iamxid/iamx-server-wallet:dev-main

配置

无需配置

使用方法

在完成 https://kyc.iamx.id 上的 KYC 流程后,您将收到一个 UUID 和一个 PIN。

要使用您的 KYC 数据创建服务器钱包,需要运行以下命令

php artisan iamx:create-wallet <UUID> <PIN>

这将创建您的公钥和私钥文件以及加密的标识数据,它们位于应用存储文件夹的两个子文件夹中

├──storage
├────iamx_wallet
├──────identity   # identity.json
├──────keys       # private_key.pem and public_key.pem

如果您想删除服务器钱包,只需调用命令 iamx:delete-wallet。

php artisan iamx:delete-wallet

示例

在任何您想使用服务器钱包的控制器中导入 ServerWallet Facade。

获取您的标识定义范围

<?php

namespace App\Http\Controllers;

use IAMXID\IamxServerWallet\Facades\ServerWallet;

class TestController extends Controller
{
    public function test()
    {
        ServerWallet::setScope(['did' => '', 'person' => [], 'address' => []]);

        $identityArray = ServerWallet::getScopedIdentity();

        dd($identityArray);
    }
}

使用 IAMX 服务器钱包加密和解密数据

<?php

namespace App\Http\Controllers;

use IAMXID\IamxServerWallet\Facades\ServerWallet;

class TestController extends Controller
{
    public function test()
    {
        $encrypted = ServerWallet::encrypt('This is a test message');
        echo $encrypted."<br><br>";

        $decrypted = ServerWallet::decrypt($encrypted);
        echo $decrypted;
    }
}

使用 IAMX 服务器钱包签名和验证数据

<?php

namespace App\Http\Controllers;

use IAMXID\IamxServerWallet\Facades\ServerWallet;

class TestController extends Controller
{
    public function test()
    {
        $signature = ServerWallet::sign('This is a test message');
        echo $signature."<br>";
        
        $verify = ServerWallet::verify('This is a test message', $signature);
        
        if ($verify) {
            echo "verified";
        } else {
            echo "not verified";
        }
    }
}

错误和建议

版权和许可

MIT