1 个不稳定版本
新 0.1.0 | 2024 年 8 月 19 日 |
---|
#102 在 魔法豆
106 次每月下载
105KB
1.5K SLoC
Bittensor 钱包
Bittensor 钱包是一个 Rust crate,为 Bittensor 网络提供钱包功能。它包括管理钱包、密钥对和通过 PyO3 绑定与 Python 集成的功能。
架构
该 crate 结构为几个关键组件
- 钱包:处理钱包操作的主要结构,例如创建、密钥管理和加密。
- 密钥对:管理加密密钥对,包括签名和加密。
- 错误处理:钱包特定错误的自定义错误类型。
- Python 绑定:允许从 Python 使用钱包功能。
密钥文件
src/wallet.rs
:包含Wallet
结构及其实现。src/keypair.rs
:实现Keypair
结构以进行加密操作。src/errors.rs
:定义自定义错误类型。src/python_bindings.rs
:使用 PyO3 实现 Python 绑定。
使用 Python 绑定
该项目使用 Maturin 构建和管理 Python 绑定。要在 Python 中使用 Bittensor 钱包
-
安装 Maturin
pip install maturin
-
构建 Python 模块
maturin develop
-
在您的 Python 代码中
import bittensor_wallet # Create a new wallet wallet = bittensor_wallet.PyWallet("my_wallet", "/path/to/wallet") # Create a new wallet with a mnemonic wallet.create_new_wallet(12, "my_password") # Create a new hotkey wallet.create_new_hotkey("my_hotkey", "my_password") # Get the coldkey coldkey = wallet.get_coldkey("my_password") # Get a hotkey hotkey = wallet.get_hotkey("my_hotkey", "my_password") # Sign a message message = b"Hello, Bittensor!" signature = hotkey.sign(message, "my_password")
构建和测试
要构建 crate
cargo build
要运行测试
cargo test
依赖项
此 crate 依赖于几个关键依赖项
pyo3
:用于 Python 绑定sp-core
和sp-runtime
:用于基于 Substrate 的密码学aes-gcm
和argon2
:用于加密和密钥派生bip39
:用于助记词生成和处理
有关依赖项的完整列表,请参阅 Cargo.toml
文件。
依赖项
~34–47MB
~815K SLoC