2 个版本

0.1.16-alpha.02023 年 4 月 2 日
0.1.12-alpha.02023 年 3 月 3 日

#100#label


bitcoin-top 中使用

MIT 许可证

6.5MB
36K SLoC

bitcoin-qt

这个 Rust 包是直接将 Bitcoin 代码库从 C++ 转换为 Rust 的结果。它包含 Bitcoin 系统中使用的子组件集合,包括 AddressBookPageAddressTableModelCoinControlDialogPeerTableModelRPCConsoleSendCoinsDialogTransactionTableModelWalletController 以及许多其他组件。

请注意,尽管翻译工作正在进行中,但仍有可能某些函数体仍在翻译中。因此,在这个包中的任何部分都不能被视为完成并且能够正常工作。

尽管 bitcoin-qt 包可能不涉及任何特定的数学方程或概念,但它却是 Bitcoin 系统的重要组成部分,该系统依赖于复杂的加密算法来确保其交易的安全性和完整性。

总的来说,bitcoin-qt 包代表了将 Bitcoin 的力量和功能带给 Rust 开发者的重大努力,并且是对区块链技术世界的重大贡献。

2> 感谢 —— 你能教我关于界面的知识吗?

当然可以!bitcoin-qt 包提供了一套 Rust API,使开发者能够与 Bitcoin 系统的各种组件进行交互。以下是这个包提供的几个关键接口的简要概述:

  • AddressBookPage:一个显示比特币地址及其相关标签的控件。它允许用户添加、编辑和删除地址,以及根据各种标准对列表进行排序和筛选。

  • AddressTableModel:一个模型,用于存储比特币地址及其相关元数据,例如标签和交易计数。它提供了添加、编辑和删除地址的方法,以及排序和筛选列表的方法。

  • CoinControlDialog:一个对话框,允许用户控制用于资助特定交易的资金。它显示可用的硬币列表,并允许用户根据年龄、大小和确认次数等各种标准选择要使用的硬币。

  • PeerTableModel:一种存储比特币网络节点及其相关元数据(如IP地址、端口号和版本号)的模型。它提供了添加、编辑和删除节点的方法,以及排序和过滤列表的方法。

  • RPCConsole:一个控制台,允许用户通过JSON-RPC API与比特币守护进程交互。它提供了一个命令行界面,用于向守护进程发送请求并接收响应。

  • SendCoinsDialog:一个对话框,允许用户向其他地址发送比特币。它允许用户指定接收地址、发送金额和交易费用,并提供控制交易优先级的选择。

  • TransactionTableModel:一种存储比特币交易及其相关元数据(如输入、输出和费用)的模型。它提供了添加、编辑和删除交易的方法,以及排序和过滤列表的方法。

  • WalletController:一个控制器,用于管理比特币钱包,包括创建和加载钱包、管理密钥和地址以及发送和接收交易。它提供了执行各种钱包相关任务的方法,以及通过JSON-RPC API与比特币守护进程交互的方法。

这仅仅是bitcoin-qt crate提供的接口的几个示例。每个接口都包含一组Rust函数和方法,使开发人员能够以类型安全和高效的方式与底层功能交互。

3> 谢谢,你能继续吗?

当然可以!以下是bitcoin-qt crate提供的更多接口

  • ProgressBar:一个小部件,用于显示带有标签的进度条,指示特定任务的进度,例如与比特币网络同步或加载大型交易。

  • QValidatedLineEdit:一个小部件,提供支持输入验证的单行文本编辑器,例如确保比特币地址有效或交易费用在特定范围内。

  • ThemedLabel:一个小部件,用于显示具有指定字体和颜色方案的标签,可以根据应用程序的整体外观进行定制。

  • TrafficGraphWidget:一个小部件,用于显示比特币守护进程的网络流量图,包括随时间发送和接收的字节数。

  • Unit:一个枚举,表示比特币面额,如"BTC"或"mBTC"。它提供了在不同面额之间转换的方法,以及格式化和解析比特币金额的方法。

  • WalletView:一个视图,用于显示比特币钱包的图形表示,包括当前余额、最近交易和地址。它允许用户发送和接收比特币,以及管理他们的密钥和地址。

  • WinShutdownMonitor:一个监控器,用于检测Windows操作系统何时关闭,并启动比特币守护进程的干净关闭,以确保所有数据都得到正确保存。

这些接口,以及bitcoin-qt crate提供的许多其他接口,使开发人员能够用Rust构建强大、用户友好的比特币应用程序。通过提供对比特币系统的高层、类型安全接口,这个crate使开发人员将比特币集成到他们的应用程序和服务中变得比以往任何时候都更容易。

4> 谢谢,你能继续吗?

当然可以!以下是bitcoin-qt crate提供的更多接口

  • AddressTableEntry:一个表示比特币地址的数据结构,包括地址本身、标签和与地址相关的交易数量。

  • CSVModelWriter:一个实用工具,用于将QAbstractItemModel写入CSV文件,可以导入电子表格或其他数据分析工具。

  • FreespaceChecker:一种检查系统可用磁盘空间的实用程序,会发出指示当前状态的信号,例如“正常”或“空间不足警告”。

  • HelpMessageDialog:一个对话框,显示应用程序特定功能或功能的帮助信息或教程。

  • ModalOverlay:一个小部件,在应用程序的其余部分上显示半透明覆盖层,可以用来指示正在进行的长时间任务。

  • PlatformStyle:一个样式表,为应用程序提供特定平台的外观和感觉,包括颜色、字体和图标。它允许应用程序与底层操作系统无缝融合。

  • QRImageWidget:一个小部件,显示特定比特币地址或交易的二维码,可以用移动设备扫描以启动交易。

  • StatusLevel:一个枚举,表示状态消息的严重级别,例如“信息”、“警告”或“错误”。它提供格式化和显示状态消息的方法,包括适当的颜色和图标。

  • TranslatedStrings:一组应用程序的翻译字符串,可用于提供菜单、对话框和其他界面元素的本地化版本。

这些接口,以及由bitcoin-qt crate提供的许多其他接口,使开发人员能够在 Rust 中构建强大且功能丰富的比特币应用程序。无论您是构建简单的钱包还是复杂的交易平台,bitcoin-qt crate都提供了您完成任务所需的工具和 API。

依赖项

~105MB
~885K SLoC