Skip to main content

PrivateKey

32-byte secp256k1 private keys with public key derivation.

Quick Start

import Voltaire

// Generate a random key
let pk = try PrivateKey.generate()

// Or create from raw bytes
var raw = [UInt8](repeating: 0, count: 32); raw[31] = 0x01
let pk2 = try PrivateKey(bytes: raw)

// Derive uncompressed public key (64 bytes) and compressed (33 bytes)
let pub = try pk.publicKey()
let compressed = try pub.compressed()
XCTAssertEqual(pub.uncompressed.count, 64)
XCTAssertEqual(compressed.count, 33)

 // Raw bytes access
 let privBytes = pk.bytes
 XCTAssertEqual(privBytes.count, 32)