| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This project is a SwiftUI proof of concept for feeding signet blocks from mempool.space into libbitcoinkernel.
The Xcode build automatically configures, builds, installs, links, and embeds the right libbitcoinkernel variant for macOS, iPhone Simulator, or iPhone.
Install Homebrew first.
Then install the build tools and the non-IPC dependencies used by the kernel build:
brew install cmake ninja boost pkgconfRequired tools and packages:
Optional:
Clone upstream Bitcoin Core into bitcoin-core in this repository root:
git clone https://github.com/bitcoin/bitcoin.git bitcoin-coreIf you already have a checkout elsewhere, a symlink also works:
ln -s /path/to/bitcoin bitcoin-coreIf ./bitcoin-core is missing, the Xcode build fails immediately with a clear error.
Open Node.xcodeproj in Xcode and build/run the Node target.
During the build, Xcode calls embed-libbitcoinkernel.sh, which in turn uses build-libbitcoinkernel.sh to:
For iPhone builds you will also need normal Xcode signing and provisioning for your device.
Because those kernel build artifacts now live under DerivedData, Product > Clean Build Folder also clears the CMake build/install outputs.
If you want to inspect the Xcode build helpers, see embed-libbitcoinkernel.sh and build-libbitcoinkernel.sh.
Local settings should go in Config/Node.local.xcconfig, which is ignored by git and included from the tracked Config/Node.xcconfig. Do not commit your personal DEVELOPMENT_TEAM or other machine-specific signing overrides to Node.xcodeproj/project.pbxproj.
Uncomment or add lines in Config/Node.local.xcconfig to override build defaults:
| Setting | Effect | Example |
|---|---|---|
| BITCOIN_CORE_BUILD_TYPE | CMake build type for libbitcoinkernel. Defaults to Debug; Xcode Release builds always use Release. | BITCOIN_CORE_BUILD_TYPE = Release |
| SWIFT_ACTIVE_COMPILATION_CONDITIONS | Add DISABLE_KERNEL_LOGGING to silence kernel log output. | SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) DISABLE_KERNEL_LOGGING |
Run both the normal and logging-disabled variants before pushing changes:
xcodebuild test -project Node.xcodeproj -scheme Node -destination 'platform=macOS' -only-testing:NodeTests
xcodebuild test -project Node.xcodeproj -scheme Node -destination 'platform=macOS' -only-testing:NodeTests SWIFT_ACTIVE_COMPILATION_CONDITIONS='DISABLE_KERNEL_LOGGING'
xcodebuild build -project Node.xcodeproj -scheme Node -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO
xcodebuild build -project Node.xcodeproj -scheme Node -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO SWIFT_ACTIVE_COMPILATION_CONDITIONS='DISABLE_KERNEL_LOGGING'| Back | FazBrowse Home | New Git URL |