This project builds a Swift package that provides Swift language bindings for the
bdk library. The Swift language bindings are created by the
bdk-ffi project which
is included as a git submodule of this repository.
To use the Swift language bindings for
bdk in your Xcode iOS or MacOS project add
the github repository (https://github.com/bitcoindevkit/bdk-swift) and select one of the
release versions. You may then import and use the
BitcoinDevKit library in your Swift
code. For example:
import BitcoinDevKit ... let desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)" let config = DatabaseConfig.memory(junk: "") let wallet = try OfflineWallet.init(descriptor: desc, network: Network.regtest, databaseConfig: config) let address = wallet.getNewAddress()
If you are a maintainer of this project or want to build and publish this project to your own Github repository use the following steps:
Clone this repository and init and update it's
git clone https://github.com/bitcoindevkit/bdk-swift git submodule update --init
Follow the "General"
bdk-ffi "Getting Started (Developer)" instructions.
Install the latest version of Xcode, download and install the advanced tools.
Ensure Swift is installed.
Install required targets.
rustup target add aarch64-apple-ios x86_64-apple-ios rustup target add aarch64-apple-ios-sim --toolchain nightly rustup component add rust-src --toolchain nightly-aarch64-apple-darwin
bdk-ffi Swift bindings and
Package.swift file with the new expected URL for the
bdkFFI.xcframework.zip file and new hash as shown at the end of the build.sh script.
.binaryTarget( name: "bdkFFI", url: "https://github.com/bitcoindevkit/bdk-swift/releases/download/0.1.3/bdkFFI.xcframework.zip", checksum: "c0b1e3ea09376b3f316d7d83575e1cd513fc4ad39ef8cf01120a3a1d7757fb97"),
Commit the changed
Package.swift and tag it with the new version number.
git add Package.swift git commit -m "Bump version to 0.1.3" git tag 0.1.3 -m "Release 0.1.3" git push --tags
Create a github release for your new tag.
Upload the newly created zip to the new github release and publish the release.
Test the new package in Xcode. If you get an error you might need to reset the Xcode package caches: File -> Packages -> Reset Package Caches.
|Last commit: 1 week ago|
Full Changelog: https://github.com/bitcoindevkit/bdk-swift/compare/0.2.0...0.3.0