bbc-1事务数据结构定义库

py-bbclib的Python项目详细描述


py bbclib

定义bbc-1事务数据结构的库与the bbc1 repository分离。

bbc-1是bbc-1的一个基于python的参考实现,bbc-1是一个超越区块链的可信任的记录保存系统。交易数据结构定义是bbc-1系统中最重要的部分。

设计文件(白皮书)和分析文件可供herehere使用。bbc-1的灵感来自比特币、以太坊、超账本项目等区块链技术。 BBC-1是一个简单而可靠的分布式分类帐系统,与庞大而复杂的现有链链平台相比。 bbc-1的核心是事务数据结构和事务之间的关系,它形成了一个图形拓扑。 交易应该由交易的股东签署。bbc-1通过事务关系的拓扑结构和事务上的签名来实现数据的完整性和透明性。简单地说,bbc-1没有blocks,因此既不需要挖掘也不需要本机加密货币。 bbc-1既可用于私人/企业用途,也可用于公共用途。bbc-1有一个domain的概念,用于确定数据管理的区域。任何网络实现(如用于p2p拓扑管理的kademlia)都可以应用于每个域。 尽管bbc-1中有许多todo,但是这个参考实现包含了bbc-1的大部分概念,并且可以在私有/企业系统中工作。当复杂的p2p算法准备就绪时,bbc-1将能够支持公共用例。

有关详细信息,请阅读the bbc1 repository中docs/目录中的文档。不仅文件,幻灯片(pdf)解释了bbc-1的设计和实现。

api文档已在readthedocs.org准备好。

故障排除

通过pip安装py bbclib有时会因为pip缓存问题而失败。在libbbcsig构建过程中终止安装过程时,可能会发生这种情况。 这导致libbbcsig模块的pip缓存存在缺陷,导致永远无法安装。

要解决此问题,需要在不使用缓存的情况下删除pip缓存或pip安装。下面将解释如何解决这个问题。

解决方案1

删除pip缓存目录是解决此问题的基本方法。各种操作系统平台的缓存目录如下:

  • Linux和Unix
    • ~/.cache/pip
  • 马科斯
    • ~/library/caches/pip
  • 窗口
    • %localappdata%\pip\cache

删除缓存目录后,再次安装py-bbclib模块。

python3 -mvenv venv
. venv/bin/activate
pip install py-bbclib

溶液2

禁用缓存并重新安装模块是另一种解决方案,这是一种更简单的方法。

python3 -mvenv venv
. venv/bin/activate
pip --no-cache-dir install -I py-bbclib

命名空间在v1.4.1中更改

在v1.4.1之前,py-bbclib模块的名称为“bbc1”。但是,这与bbc1模块的冲突。 因此,py bbclib的名称空间自v1.4.1以来已更改为“bbclib”。 单独使用py-bbclib模块时要小心。

环境

  • Python

    • python 3.5.0或更高版本
    • 建议使用Virtualenv
      • python -mvenv venv
  • 自制MacOS工具

    brew install libtool automake python3
    pip3 install virtualenv
    
  • Linux工具(Ubuntu16.04 LTS,18.04 LTS)

    sudo apt-get update
    sudo apt-get install -y git tzdata openssh-server python3 python3-dev python3-pip python3-venv libffi-dev net-tools autoconf automake libtool libssl-dev make
    

安装

使用pip

安装模块
python -mvenv venv
source venv/bin/activate
pip install py-bbclib

从github存储库(此存储库)构建

这个项目需要一个外部库libbbcsig,用于签名/验证事务数据。此存储库包含用于构建外部库的安装脚本。

git clone https://github.com/beyond-blockchain/py-bbclib
cd py-bbclib
bash prepare.sh

您将在bbc1/libs/目录中找到一个动态链接库(libbbcsig.so或libbbcsig.dylib)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何在jQuery函数中传递两个值,该函数获取数据并使用ajax发送到服务器?   java IOSDriver()不工作。相反,当我在测试用例通过时使用RemoteWebDriver()时,它正在打开远程会话   使用java对blob几何体进行二进制解码   java错误:Gradle:运行在Ubuntu 16.04上的Intellij 2017中的任务执行失败   java Lotus Notes邮件文档获取附件名称(和导出附件)   java如果库有副作用,这样可以吗?   java Javabat帮助:alarmClock   加载类时未初始化java静态变量   java限制htmlunit中的带宽   java Column_layout在安卓 tablelayout中不起作用   java在倒计时和打印循环时遇到问题   虚拟机我需要一个如何访问java虚拟机中的文件的帮助   java图像处理程序中的多线程