跳到主要内容

nostrSignEvent

使用要求

  • 固件版本要求
    • UKey Lite 24 / UKey Lite 25: 1.1.0
    • UKey Core 26: 1.1.0

Nostr:签名 Nostr 事件

使用指定 BIP32 路径派生的私钥签名 Nostr 事件,用户需要在设备上核对事件内容后确认。

const result = await HardwareSDK.nostrSignEvent(connectId, deviceId, params);

参数

可选通用参数

  • path - 必需 string | Array<number>,字符串数组最小长度限制为 3更多信息
  • event - 必需 NostrEvent,Nostr 事件对象。
enum EventKind {
Metadata = 0, // 元数据事件
Text = 1, // 文本事件
RelayRec = 2, // 中继推荐
Contacts = 3, // 联系人列表
DM = 4, // 私信
Deleted = 5, // 删除事件
Reaction = 7, // 反应事件
BadgeAward = 8, // 徽章授予
ChannelCreation = 40, // 频道创建
ChannelMetadata = 41, // 频道元数据
ChannelMessage = 42, // 频道消息
ChannelHideMessage = 43, // 隐藏频道消息
Reporting = 1984, // 举报事件
ZapRequest = 9734, // Zap 请求
Zap = 9735, // Zap 事件
RelayListMetadata = 10002, // 中继列表元数据
ClientAuthentication = 22242, // 客户端认证
NostrConnect = 24133, // Nostr Connect
ProfileBadges = 30008, // 资料徽章
BadgeDefinition = 30009, // 徽章定义
LongFormContent = 30023, // 长文内容
ApplicationSpecificData = 30078, // 应用专用数据
}

type NostrEvent = {
id?: string; // 事件 ID
kind: EventKind; // 事件类型
pubkey?: string; // 发布者公钥
content: string; // 事件内容
tags: string[][]; // 标签列表
created_at: number; // 事件创建时间
sig?: string; // 事件签名
};

示例

const response = await HardwareSDK.nostrSignEvent(connectId, deviceId, {
path: "m/44'/1237'/1'/0/0",
event: {
kind: 1, // 文本事件
content: "Hello Nostr",
tags: [],
created_at: 1702368010,
},
});

返回结果

{
success: true,
payload: {
event: {
kind: 1, // 文本事件
content: "Hello Nostr",
tags: [],
created_at: 1702368010,
sig: "", // 签名结果
},
}
}

错误

{
success: false,
payload: {
error: string, // 错误消息
code: number // 错误码
}
}