Skip to main content

PublicKey

Uncompressed secp256k1 public keys (x||y) with compression and address derivation.

Quick Start

import Voltaire

let priv = try PrivateKey.generate()
let pub = try priv.publicKey()

// Compressed SEC1 form
let comp = try pub.compressed()
XCTAssertTrue(comp[0] == 0x02 || comp[0] == 0x03)

// Ethereum address from public key
let addr = try pub.address()
print(addr.hex)

 // Uncompressed (x||y) access
 XCTAssertEqual(pub.uncompressed.count, 64)