算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
bitcoin-libraries-embit【设计与创意】embit: Python Bitcoin library designed for embedded / hardware wallets (MicroPython compatible). Used by Specter DIY, Krux, SeedSigner. USE WHEN: building HW signers, MicroPython Bitcoin apps, low-resource Python.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Python Bitcoin library by Crypto Advance team. Optimized for embedded contexts — runs on MicroPython.
Repo: github.com/diybitcoinhardware/embit.
pip install embit
For MicroPython: package as frozen module on firmware.
PyPI lags the repo. The newest release on PyPI is 0.8.0 (uploaded
2024-05-30); tags v0.8.1 (2026-06-02) and v0.8.2 (2026-08-08) were
cut on GitHub but never published to PyPI, so as of September 2026
pip install embit still gives you the 2024 build. To get the later
fixes, install the tag directly:
pip install "embit @ git+https://github.com/diybitcoinhardware/embit@v0.8.2"
Post-0.8.0 changes, per the repo CHANGELOG.md: 0.8.1 adds PSBT
PSBT_IN_TAP_KEY_SIG (Taproot key-spend signature) parsing, declares
CPython 3.10+, stops shipping prebuilt libsecp256k1 in the artifacts
(the ctypes backend is discovered on the system, pure-Python fallback
otherwise) and tightens BIP39 validation; 0.8.2 aligns PSBT version
parsing with BIP 174 / BIP 370.
What the downstream signers pin, as of September 2026:
| Project | embit source |
|---|---|
| SeedSigner | embit==0.8.0 from PyPI, hash-locked in requirements.txt |
| Krux | submodule vendor/embit at fff7ffa4 (2026-06-02) |
| Specter DIY | f469-disco submodule libs/common/embit at eb6104fd (v0.8.2) |
from embit import bip32, bip39, networks, script
mnemonic = "abandon abandon abandon ... about"
seed = bip39.mnemonic_to_seed(mnemonic)
root = bip32.HDKey.from_seed(seed)
acc = root.derive("m/84h/0h/0h")
xpub = acc.to_public()
addr = script.p2wpkh(acc.derive("0/0").key).address(networks.NETWORKS["main"])
print(addr)
from embit import psbt
psbt_obj = psbt.PSBT.from_string(psbt_b64)
# inspect, sign
for inp in psbt_obj.inputs:
inp.partial_sigs[some_pubkey] = sig_bytes
print(psbt_obj.to_string())
embit.bip32 — HD derivation.embit.bip39 — mnemonic.embit.psbt — PSBT.embit.script — Script primitives, p2pkh/p2sh/p2wpkh/p2wsh/p2tr.embit.networks — main, test, signet, regtest.embit.descriptor — descriptor parsing.embit.liquid — Liquid extensions.| Aspect | embit | python-bitcoinlib |
|---|---|---|
| Embedded-friendly | yes | no |
| MicroPython | yes | no |
| RPC client | no | yes |
| Maturity | newer | 10+ years |