界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

bitcoin-libraries-libwally

bitcoin-libraries-libwally

【效率与协作】libwally-core: Blockstream's C library for wallet primitives. BIP32/39, PSBT, Liquid Confidential Transactions, BIP143, Schnorr. Bindings to Python, JS, Java, Swift. USE WHEN: building cross-language wallets via libwally bindings, integrating Liquid CT.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: bitcoin-libraries-libwally description: | libwally-core: Blockstream's C library for wallet primitives. BIP32/39, PSBT, Liquid Confidential Transactions, BIP143, Schnorr. Bindings to Python, JS, Java, Swift. USE WHEN: building cross-language wallets via libwally bindings, integrating Liquid CT. allowed-tools: Read, Grep, Glob

libwally-core

Blockstream's C library focused on wallet primitives (vs full node code).

Repo: github.com/ElementsProject/libwally-core.

Features

  • BIP32 HD derivation.
  • BIP39 mnemonic.
  • BIP38 password-encrypted private keys.
  • PSBT (BIP174).
  • Bitcoin Tx serialization.
  • Liquid Confidential Transactions.
  • Schnorr (BIP340).
  • BIP85.

Bindings

  • Python: wallycore.
  • JavaScript: libwally-core-js (WebAssembly).
  • Java: wally-android, wally-jvm.
  • Swift: native bindings for iOS.
  • C (native).

Quick example (Python)

import wallycore as wally

seed = wally.bip39_mnemonic_to_seed512("abandon abandon ... about", "")
master = wally.bip32_key_from_seed(seed, wally.BIP32_VER_MAIN_PRIVATE)
account = wally.bip32_key_from_parent_path(master,
    [84 + 0x80000000, 0 + 0x80000000, 0 + 0x80000000])
xpub = wally.bip32_key_to_base58(account, wally.BIP32_FLAG_KEY_PUBLIC)

Use cases

  • Blockstream Green Wallet (uses libwally extensively).
  • Cross-platform wallet libraries (one C core, many bindings).
  • Liquid integrations.

Compared

Aspectlibwallyrust-bitcoinbitcoinj
LanguageC (with bindings)RustJava
Liquid CTYesNoNo
HW walletNoNoNo
PerformanceBest (C)BestAcceptable

Common pitfalls

  • C API is stateful; clean up with wally_*_free functions.
  • Build with --enable-elements for Liquid CT support.
  • Bindings sometimes lag C library version.

See also

我的收藏