Secp256k1Swift

是对 https://github.com/Boilertalk/secp256k1.swift 的二次封装,经过充分测试,易于使用。

集成

您可以使用 Swift Package Manager 来安装 Secp256k1Swift,只需将正确的描述添加到您的 Package.swift 文件中即可。

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    dependencies: [
        .package(url: "https://github.com/LanfordCai/Secp256k1Swift.git", from: "0.1.2"),
    ]
)

然后,在您准备好后运行 swift build

基本用法

生成 Secp256k1 密钥对

let (privkey, pubkey) = try! Secp256k1.keyPair()

验证私钥

let result = Secp256k1.isValidPrivateKey(privkey)

签名消息

let sig = try! Secp256k1.sign(msg: msg, with: privkey, nonceFunction: .default)

验证签名

let result = Secp256k1.verify(msg: msg, sig: sig, pubkey: pubkey)

紧凑签名

let (sig, recID) = try! Secp256k1.signCompact(msg: msg, with: privkey, nonceFunction: .default)

验证紧凑签名

let result = Secp256k1.verifyCompact(msg: msg, sig: sig, pubkey: pubkey)

更多用法示例,请查看测试用例。

测试向量

测试向量来自 https://github.com/btccom/secp256k1-go