首页
/ beem 的项目扩展与二次开发

beem 的项目扩展与二次开发

2025-06-10 14:23:13作者:余洋婵Anita

项目的基础介绍

beem 是一个开源的 Python 库,用于与 HIVE 和 STEEM 区块链进行交互。这个库是从 python-bitshares 重新开始构建的,其名称来源于类似于 steem 和 steam 之间的类比,其中 beem 暗指一种“光束”机器。该库包含了 python-graphenelib,为开发者提供了一个强大的工具集,以实现与 HIVE 和 STEEM 区块链的通信。

项目的核心功能

  • 支持 WebSocket 节点
  • 原生支持新的 Appbase 调用
  • 节点错误处理和自动节点切换
  • 使用 pycryptodomex 替代过时的 pycrypto
  • 完整的文档,包括 beempy 命令行工具和所有类的功能
  • hivesigner 集成
  • 在只读系统上运行
  • 自有的 BlockchainObject 类,带缓存
  • 包含所有广播操作
  • 估算基于日期或块号的虚拟账户操作索引

项目使用了哪些框架或库?

  • python-bitshares
  • python-graphenelib
  • click(用于 CLI 工具 beempy)
  • pytest(用于测试)
  • cryptography(用于加解密)
  • ledgerblue(用于 Ledger 硬件钱包签名)

项目的代码目录及介绍

项目的代码目录结构如下:

beem/
├── .circleci/
├── .github/
├── beem/
│   ├── __init__.py
│   ├── beemapi/
│   ├── beembase/
│   ├── beemgrapheneapi/
│   ├── beemgraphenebase/
│   ├── beemstorage/
│   ├── benchmarks/
│   ├── docs/
│   ├── examples/
│   ├── pyinstaller/
│   ├── tests/
│   ├── util/
│   ├── .bandit.yml
│   ├── .coveragerc
│   ├── .flake8
│   ├── .gitignore
│   ├── .pylintrc
│   ├── .pyup.yml
│   ├── .replit
│   ├── .travis.yml
│   ├── CHANGELOG.rst
│   ├── LICENSE.txt
│   ├── MANIFEST.in
│   ├── Makefile
│   ├── README.rst
│   ├── appveyor.yml
│   ├── pytest.ini
│   ├── requirements-test.txt
│   ├── setup.cfg
│   ├── setup.py
│   ├── sonar-project.properties
│   └── tox.ini
  • beem/:项目的核心模块,包括 API 交互、区块链基础类等。
  • beemapi/:与区块链交互的 API。
  • beembase/:区块链的基础组件。
  • beemgrapheneapi/:Graphene 区块链的 API。
  • beemgraphenebase/:Graphene 区块链的基础组件。
  • beemstorage/:存储相关的功能。
  • benchmarks/:性能基准测试。
  • docs/:文档。
  • examples/:示例代码。
  • tests/:测试用例。
  • util/:实用工具。

对项目进行扩展或者二次开发的方向

  1. 增加新的区块链支持:根据需要,可以扩展 beem 以支持其他基于 Graphene 的区块链。
  2. 优化性能:可以通过优化现有代码或引入新的算法来提高库的性能。
  3. 增强安全性:引入更先进的安全措施,确保与区块链的交互更加安全可靠。
  4. 扩展命令行工具:增加新的命令行操作,使 beempy 工具更加实用。
  5. 集成新的钱包:支持更多类型钱包的集成,如 Trezor、KeepKey 等。
  6. 开发新的 API:根据社区需求,开发新的 API 调用以支持更多功能。
登录后查看全文
热门项目推荐