功能 工作原理 安全 文档
EN CN TW JP

SDK

用于钱包集成和链上合规的 JavaScript SDK。

安装

npm
npm install @fidesorigin/sdk
yarn
yarn add @fidesorigin/sdk

快速开始

初始化 SDK

TypeScript
import { FidesOrigin } from '@fidesorigin/sdk';

const fides = new FidesOrigin({
  apiKey: 'YOUR_API_KEY',
  network: 'sepolia' // 或 'mainnet', 'base'
});

检查地址风险

TypeScript
const result = await fides.evaluateAddress('0x...');

console.log(result.riskTier); // 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'
console.log(result.isSanctioned); // true 或 false

订阅事件

TypeScript
fides.on('RiskDetected', (event) => {
  console.log('检测到风险:', event.address, event.riskTier);
});

fides.on('SanctionAdded', (event) => {
  console.log('新增制裁:', event.address);
});

核心 API

方法返回描述
connect(provider)Promise<void>连接 Web3 提供商
evaluateAddress(addr)Promise<RiskProfile>获取地址风险档案
evaluateTx(tx)Promise<TxResult>交易预筛查
subscribe(event)EventEmitter订阅链上事件
disconnect()void清理连接

Solidity 集成

将 FidesOrigin 合约直接导入您的 Solidity 项目:

Solidity 0.8.20
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@fidesorigin/contracts/CompliantStableCoin.sol";

contract MyStableCoin is CompliantStableCoin {
    constructor()
        CompliantStableCoin("MyStableCoin", "MSC")
    {
        policy = IssuerPolicy({
            maxTxAmount: 1_000_000 * 10**6,
            dailyLimit: 10_000_000 * 10**6,
            allowMediumRisk: true,
            allowHighRisk: false,
            blockMixer: true,
            requireDestinationKYC: true,
            cooldownPeriod: 24 hours
        });
    }
}

类型

TypeScript
interface RiskProfile {
  address: string;
  riskScore: number;
  riskTier: 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
  isSanctioned: boolean;
  tags: string[];
  entityName: string;
  lastUpdated: string;
}

interface TxResult {
  allowed: boolean;
  riskScore: number;
  riskTier: string;
  quarantineRequired: boolean;
  reason: string | null;
}