mrtnetwork/blockchain_utils
GitHub: mrtnetwork/blockchain_utils
纯 Dart 跨平台区块链与密码学工具库,提供多链地址编解码、BIP 系列密钥派生、助记词管理、加密算法与签名验证等一站式能力。
Stars: 36 | Forks: 19
# blockchain_utils
探索一个多功能且强大的加密工具包,它由纯 Dart 精心打造,旨在为多个平台的开发者、企业和区块链爱好者提供服务。该软件包提供了广泛的核心功能,包括针对各种数据格式的编码/解码、对众多区块链地址的支持、强大的加密算法、助记词管理等——所有这些都无需依赖外部库。无论您是希望保护私钥安全、与区块链网络进行交互,还是确保数据的完整性,这款跨平台解决方案都能简化您的加密之旅。体验一套专为满足您在 iOS、Android、Web、Linux 等平台上多样化的编码、加密和区块链需求而设计的全面工具。
这个综合性的软件包在开发过程中受到了几个关键来源的启发,最终促成了其 Dart 版本的诞生。
- python [bip_utils](https://github.com/ebellocchia/bip_utils)
- python [ecdsa](https://github.com/tlsfuzzer/python-ecdsa)
- rust [schnorrkel](https://github.com/w3f/schnorrkel)
- js [stablelib](https://github.com/StableLib/stablelib)
- rust [strobe](https://github.com/rozbb/strobe-rs)
## 功能
**编码与解码:**
1. **Base32 编码/解码:** 使用自定义字符集表示二进制数据,以满足各种编码需求。
2. **SS58 编码/解码:** 以紧凑且易读的格式编码基于 Substrate 的区块链地址和公钥。
3. **Base58 和 Base58 XMR 编码/解码:** 高效地编码二进制数据,其中 Base58 XMR 专为 Monero 地址定制。
4. **Base58Check 编码/解码:** 支持在区块链相关数据中创建和校验校验和。
5. **Bech32 编码/解码:** 包括用于 Bitcoin Cash (BCH) 的 Bech32 和 Bech32 SegWit 地址,为区块链地址提供更好的错误检测和可读性。
6. **Hex 编码/解码:** 将二进制数据编码为十六进制,并能将其解码还原。
7. **Web3 Secret Storage Definition:** 使用 Web3 Secret Storage 格式安全地存储和管理私钥。
8. **UUIDv4 生成:** 遵循 UUIDv4 标准生成随机 UUID(通用唯一识别码)。
**区块链地址编码/解码:**
- Zilliqa (ZIL)
- Tezos (XTZ)
- Ripple (XRP)
- Monero (XMR)
- Substrate address
- Solana (SOL)
- P2WPKH
- P2TR
- P2SH
- Bitcoin Cash P2PKH
- Harmony (ONE)
- OKEx
- Neo
- NEAR
- Nano
- Injective
- ICON
- Filecoin
- Ethereum
- Ergo
- EOS
- Elrond
- AVAX
- Atom
- Aptos
- Algorand
- Ada Shelley
- Ada Byron
- Ton
**二进制数据:**
9. **CBOR 编码/解码:** 以跨语言兼容的方式紧凑地表示结构化数据。
**加密算法:**
10. **加密算法与操作:**
- AES (Advanced Encryption Standard)
- ChaCha
- ChaCha20Poly1305
- CRC32 (Cyclic Redundancy Check)
- CTR mode (Counter mode)
- ECB mode (Electronic Codebook mode)
- GCM (Galois/Counter Mode)
- HMAC (Hash-based Message Authentication Code)
- PBKDF2 (Password-Based Key Derivation Function 2)
- Poly1305
- scrypt (Password-based Key Derivation Function)
- XModem CRC
- Blake2b
- Keccak
- MD4 (Message Digest 4)
- MD5 (Message Digest 5)
- Rijndael (AES)
- SHA (Secure Hash Algorithm)
- SHA224
- SHA256
- SHA384
- SHA512
- XXhash
这些算法提供了广泛的加密功能,包括加密、解密、消息认证、哈希处理等,从而增强应用程序的安全性和数据完整性。
**协议:**
11. **Strobe Protocol:** 一个用于加密协议的框架,为各种设备提供了简洁性与兼容性。
**零知识证明:**
12. **Merlin Transcript:** 一种基于 STROBE 的记录构建方式,用于零知识证明。
**基于 Schnorrkel 的加密技术:**
13. **基于 Schnorrkel 的加密操作:** 包括用于签名、验证、密钥管理等操作的 Schnorrkel。
**区块链支持:**
14. **BIP39 助记词生成与管理:** 生成符合 BIP39 标准的助记词,并管理从中派生出的加密密钥。
15. **Substrate 密钥、地址和代币管理:** 在基于 Substrate 的区块链中高效管理密钥和地址。
16. **Monero 密钥、地址和代币管理:** 处理 Monero 加密货币,支持密钥管理、地址派生和 Monero 助记词。
17. **BIP32 多曲线密钥派生与地址管理:** 在符合 BIP32 标准的前提下,跨越多个加密曲线派生密钥。
18. **SLIP10 密钥派生与管理:** 高级的密钥派生功能。
19. **BIP38 安全纸钱包:** 加密私钥以保护加密货币资产的安全。
20. **BIP44 密钥、地址和代币管理:** 管理密钥、派生地址并处理各种代币,完全符合 BIP44 标准。
21. **BIP49 密钥、地址和代币管理:** 类似于 BIP44,符合 BIP49 标准。
22. **BIP84 密钥、地址和代币管理:** 管理密钥、派生地址并处理各种代币,符合 BIP84 标准。
23. **BIP86 密钥、地址和代币管理:** 管理密钥、派生地址并处理各种代币,符合 BIP84 标准。
24. **Electrum 助记词 V1 和 V2 及密钥与地址管理:** 支持 Electrum 助记词 V1 和 V2,包括 SegWit 和标准交易。
25. **TonMnemonic:** 增加了对 Ton 助记词的支持,支持创建、验证和种子生成。
这些功能使您的软件包成为满足编码、加密、区块链管理、BIP39 助记词支持以及各种区块链地址编码和解码需求的全面解决方案。
25. **签名与验证:** 实现了用于签名和验证交易摘要的类。
- Bitcoin (ECDSA, Schnorr)
- BitcoinCash (EDDSA)
- Dogecoin (EDDSA)
- Litecoin (EDDSA)
- Dash (EDDSA)
- BSV (EDDSA)
- Ethereum (EDDSA)
- Tron (EDDSA)
- Solana (EDDSA)
- XRP (EDDSA, ECDSA)
- Solana (EDDSA, EDDSA Khalow)
26. **MuSig2 操作:**
- 签名和验证
- Nonce 生成
- 聚合公钥计算
- 聚合 Nonce 计算
**示例:探索我们的工具包**
通过交互式测试,探索我们全面的加密和区块链工具包的各项功能。访问我们的[测试页面](https://github.com/mrtnetwork/blockchain_utils/tree/main/test)以获取数以千计的示例,展示纯 Dart 的跨平台功能。学习编码、加密、地址管理、助记词以及更多内容。
## 贡献
欢迎您的贡献!请遵循以下准则:
- Fork 本仓库并创建一个新分支。
- 进行更改并确保测试通过。
- 提交 pull request,并详细描述您的更改。
## 功能请求与 Bug
请在 issue 跟踪器中提交功能请求和 Bug。
标签:Dart, SOC Prime, 加密货币, 区块链, 密码学, 开发工具, 手动系统调用, 编码解码