Naming Convention
- In
bdk-ffi, Kotlin is currently named by target/platform (bdk-android, bdk-jvm) rather than by language.
- That makes sense because Android and JVM are distinct targets, but it breaks what I might have as language-first mental model (
bdk-<language>).
- There is also historical nuance:
bdk-kotlin exists (archived/moved to bdk-ffi) and historically published both bdk-jvm and bdk-android.
- External precedent is mixed too (for example LDK Node has a
bindings/kotlin directory but publishes ldk-node-jvm and ldk-node-android, Cashu has cdk-kotlin, UniFFI generally uses the term “bindings” for foreign-language generated code).
Wondering about documenting a short naming convention for BDK bindings going forward (repo/module/directory names vs published artifact/package names) that makes sense and cleanly lines up? Not proposing an immediate rename here, mainly thinking thru for a clear rule so future naming is consistent, and also a place to document discussion.
Current BDK binding names
bdk-android (module/directory inside bdk-ffi, Maven artifact bdk-android)
bdk-jvm (repo + Maven artifact bdk-jvm)
bdk-swift (repo + SPM package bdk-swift; Swift module/framework BitcoinDevKit)
bdk-python (repo, PyPI package bdkpython)
bdk-rn (repo + npm package bdk-rn)
bdk-dart (repo, pub package bdk_dart)
bdk-wasm (repo, publishes npm packages bdk-wallet-web and bdk-wallet-node)
bdk-kotlin (archived repo; moved to bdk-ffi; historically published bdk-jvm and bdk-android?)
Naming Convention
bdk-ffi, Kotlin is currently named by target/platform (bdk-android,bdk-jvm) rather than by language.bdk-<language>).bdk-kotlinexists (archived/moved tobdk-ffi) and historically published bothbdk-jvmandbdk-android.bindings/kotlindirectory but publishesldk-node-jvmandldk-node-android, Cashu hascdk-kotlin, UniFFI generally uses the term “bindings” for foreign-language generated code).Wondering about documenting a short naming convention for BDK bindings going forward (repo/module/directory names vs published artifact/package names) that makes sense and cleanly lines up? Not proposing an immediate rename here, mainly thinking thru for a clear rule so future naming is consistent, and also a place to document discussion.
Current BDK binding names
bdk-android(module/directory insidebdk-ffi, Maven artifactbdk-android)bdk-jvm(repo + Maven artifactbdk-jvm)bdk-swift(repo + SPM packagebdk-swift; Swift module/frameworkBitcoinDevKit)bdk-python(repo, PyPI packagebdkpython)bdk-rn(repo + npm packagebdk-rn)bdk-dart(repo, pub packagebdk_dart)bdk-wasm(repo, publishes npm packagesbdk-wallet-webandbdk-wallet-node)bdk-kotlin(archived repo; moved tobdk-ffi; historically publishedbdk-jvmandbdk-android?)