bbc-1事务数据结构定义库
py-bbclib的Python项目详细描述
py bbclib
定义bbc-1事务数据结构的库与the bbc1 repository分离。
bbc-1是bbc-1的一个基于python的参考实现,bbc-1是一个超越区块链的可信任的记录保存系统。交易数据结构定义是bbc-1系统中最重要的部分。
设计文件(白皮书)和分析文件可供here和here使用。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)。