智能合约规范

合约结构

interface IPAssetContract {
  asset_id: PublicKey;
  creator: PublicKey;
  asset_type: AssetType;
  metadata_uri: string;
  created_at: number;
  current_owner: PublicKey;
  transfer_history: TransferRecord[];
  royalty_percentage: number;
  royalty_recipient: PublicKey;
}

enum AssetType {
  Design = "design",
  Toy = "toy", 
  Pattern = "pattern",
  Document = "document"
}

interface TransferRecord {
  from: PublicKey;
  to: PublicKey;
  timestamp: number;
  price?: number;
}

功能函数

注册资产

async function registerIPAsset(
  creator: PublicKey,
  asset_type: AssetType,
  metadata_uri: string,
  royalty_percentage: number
): Promise<PublicKey>;

转移所有权

async function transferOwnership(
  asset_id: PublicKey,
  from: PublicKey,
  to: PublicKey,
  price?: number
): Promise<void>;

查询信息

async function getAssetInfo(asset_id: PublicKey): Promise<IPAssetContract>;