hiro99ma blog

rust: bdk_walletの使い方 (1)

2025/10/21

BDK を使ってトランザクションを作るところまでできたので、整理を兼ねて使い方をまとめよう。
そのうち Bitcoin調査のページにまとめたいものだ。

サンプルコード

作ったのはこちら。

使用する BDK

bdk_wallet v2.2.0

bdk_bitcoind_rpc v0.22.0

Cargo.toml はこうなっている。

[dependencies]
bdk_wallet = { version = "2.2.0", features = ["rusqlite"] }
bdk_bitcoind_rpc = "0.22.0"
hex = "0.4.3"
anyhow = "1.0.100"
serde = { version = "1.0.228", features = ["derive"] }
clap = { version = "4.3.10", features = ["derive"] }
toml = "0.9.8"

wallet作成

今回は P2TR の単独鍵ウォレットを作っている。
対象のネットワークは Bitcoin regtest としている。

最初に書かないといけないことだが、このウォレット実装は非常に雑である。
特に秘密鍵に当たるデータをそのままテキストファイルに保存しているのはよろしくない。

構造体

Connection を持っているのは wallet.persist() のためである。

pub struct MyWallet {
    pub wallet: PersistedWallet<Connection>,
    conn: Connection,
}

writer: hiro99ma


 <🏠 Top page
コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage

About me