-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml.example
57 lines (45 loc) · 1.45 KB
/
Cargo.toml.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[package]
name = "bitcoin-rust-example"
version = "0.1.0"
edition = "2021"
authors = ["Your Name <[email protected]>"]
description = "Bitcoin operations using Rust libraries"
[dependencies]
# Core Bitcoin functionality
bitcoin = { version = "0.32.5", features = ["rand", "serde"] }
# Bitcoin Development Kit for higher-level wallet operations
bdk = { version = "0.30.2", default-features = true }
# Bitcoin Core RPC client
bitcoincore-rpc = "0.17.0"
# Cryptographic operations
secp256k1 = { version = "0.27.0", features = ["rand"] }
# Utilities
hex = "0.4.3"
rand = "0.8.5"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Async runtime (optional, for network operations)
tokio = { version = "1.41.1", features = ["full"], optional = true }
[features]
default = []
async = ["tokio"]
electrum = ["bdk/electrum"]
# Configuration for optimized release builds
[profile.release]
lto = true # Link-time optimization
codegen-units = 1 # Reduce parallel code generation units for better optimization
opt-level = 3 # Maximum optimization
debug = false # No debug symbols
panic = "abort" # Abort on panic for smaller binary size
# Examples
[[example]]
name = "key_generation"
path = "examples/key_generation.rs"
[[example]]
name = "transaction_builder"
path = "examples/transaction_builder.rs"
[[example]]
name = "wallet_operations"
path = "examples/wallet_operations.rs"
required-features = ["async", "electrum"]