Latest 0.1.4
Homepage https://github.com/Boilertalk/secp256k1.swift
License MIT
Platforms ios 8.0, osx 10.10, tvos 9.0, watchos 2.0
Authors

secp256k1.swift


CI Status


Version


License


Platform


Carthage compatible

:alembic: secp256k1

This library provides secp256k1 bindings for Swift with Cocoapods, Carthage and Swift Package Manager on macOS and Linux.
The Cocoapods version supports iOS 8.0, macOS 10.10, tvOS 9.0 and watchOS 2.0. The Swift Package Manager version supports macOS and Linux.

We try to merge bug fix commits ASAP and only change the import and config structure of the original repository in order to create a compilable version for the package managers.

All credits for the original source code goes to bitcoin-core.

Note: This library only binds the original C code into a Swift package. If you want an Ethereum Web3 package which manages signatures and verifications, check out Web3.swift

Example

To run the example project, run pod try secp256k1.swift. Or clone the repo, and run pod install from the Example directory.

Installation

CocoaPods

secp256k1 is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'secp256k1.swift'

Carthage

secp256k1 is compatible with Carthage, a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To install it, simply add the following line to your Cartfile:

github "Boilertalk/secp256k1.swift"

Swift Package Manager

secp256k1 is compatible with Swift Package Manager v4 (Swift 4 and above). Simply add it to the dependencies in your Package.swift.

dependencies: [
    .package(url: "https://github.com/Boilertalk/secp256k1.swift.git", from: "0.1.0")
]

Usage

To use secp256k1 functions you need to import it first.

import secp256k1

After that you can use all secp256k1 functions as described in the official headers.

Author

Koray Koska, [email protected]

License

secp256k1 is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "secp256k1.swift",
    "version": "0.1.4",
    "summary": "secp256k1 bindings for swift. Cocoapods, Carthage and SPM support. Linux support.",
    "description": "This pod binds the bitcoin-core library, the ECDSA curve, secp256k1 into Swift. This curve is used fornBitcoin, Ethereum and many other Cryptocurrency Signature generation and verification.",
    "homepage": "https://github.com/Boilertalk/secp256k1.swift",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Koray Koska": "[email protected]"
    },
    "source": {
        "git": "https://github.com/Boilertalk/secp256k1.swift.git",
        "tag": "0.1.4",
        "submodules": true
    },
    "platforms": {
        "ios": "8.0",
        "osx": "10.10",
        "tvos": "9.0",
        "watchos": "2.0"
    },
    "module_name": "secp256k1",
    "pod_target_xcconfig": {
        "SWIFT_INCLUDE_PATHS": "${PODS_ROOT}",
        "OTHER_CFLAGS": "-DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3",
        "HEADER_SEARCH_PATHS": ""${PODS_ROOT}/secp256k1/Classes""
    },
    "source_files": [
        "secp256k1/Classes/secp256k1/{src,include,contrib}/*.{h,c}",
        "secp256k1/Classes/secp256k1/src/modules/{recovery,ecdh}/*.{h,c}",
        "secp256k1/Classes/secp256k1-config.h",
        "secp256k1/Classes/secp256k1_main.h",
        "secp256k1/Classes/secp256k1_ec_mult_static_context.h"
    ],
    "public_header_files": "secp256k1/Classes/secp256k1/include/*.h",
    "private_header_files": [
        "secp256k1/Classes/secp256k1_ec_mult_static_context.h",
        "secp256k1/Classes/secp256k1/*.h",
        "secp256k1/Classes/secp256k1/{contrib,src}/*.h",
        "secp256k1/Classes/secp256k1/src/modules/{recovery, ecdh}/*.h"
    ],
    "exclude_files": [
        "secp256k1/Classes/secp256k1/src/test*.{c,h}",
        "secp256k1/Classes/secp256k1/src/gen_context.c",
        "secp256k1/Classes/secp256k1/src/*bench*.{c,h}",
        "secp256k1/Classes/secp256k1/src/modules/{recovery,ecdh}/*test*.{c,h}"
    ]
}

Pin It on Pinterest

Share This