horizontalsystems / BitcoinCore.Swift

Comprehensive Bitcoin development library for iOS, implemented on Swift.
MIT License
24 stars 22 forks source link
bch bitcoin bitcoin-cash bitcoin-core bitcoin-transaction bitcoin-wallet blockchain-wallet btc btc-wallet dash dash-wallet dashcoin dashcore decentralized hd-wallet kotlin litecoin p2p spv spv-wallet-toolkit

BitcoinCore.Swift

BitcoinCore.Swift is a core package that implements a full Simplified Payment Verification (SPV) client in Swift. It implements Bitcoin P2P Protocol and can be extended to be a client of other Bitcoin forks like BitcoinCash, Litecoin, etc. Currently, we have extensions BitcoinKit.Swift, BitcoinCashKit.Swift, LitecoinKit.Swift and DashKit.Swift that complement this package with blockchain(fork) specific logic and used by UnstoppableWallet for integration of them.

Being an SPV client, BitcoinCore.Swift downloads and validates all the block headers, inclusion of transactions in the blocks, integrity and immutability of transactions as described in the Bitcoin whitepaper or delegates validation to the extensions that implement the forks of Bitcoin.

Features

Usage

This package is designed to be used by a concrete kit like BitcoinKit.Swift. See BitcoinKit.Swift for more documentation.

Prerequisites

Swift Package Manager

Swift Package Manager is a dependency manager for Swift projects. You can install BitcoinCore.Swift by adding a line in dependencies value of your Package.swift:

dependencies: [
    .package(url: "https://github.com/horizontalsystems/BitcoinCore.Swift.git", .upToNextMajor(from: "1.0.0"))
]

License

The BitcoinCore.Swift toolkit is open source and available under the terms of the MIT License.