用python实现cardano区块链项目

python-cardano的Python项目详细描述


cardano项目的python实现,包括网络协议、密码原语、钱包逻辑等。

为什么选择这个项目

  • 我们希望探索其他设计决策,以支持轻量钱包,并开始为卡达诺开发移动钱包。目前官方钱包节点还不够。
  • 探索集群钱包节点的设计空间。
  • 用另一种编程语言提供Cardano协议和规范的替代实现。
  • 在未来,它可能是卡达诺生态系统项目的替代性基础:钱包、侧链、MPCs。

为什么是python

python仍然是目前设计最干净、开发人员最友好的编程语言之一,享有 可执行伪代码。gevent提供的轻量级线程使得它适合编写网络软件,并且很容易 由于cython,与c的互操作性使我们能够逐步提高性能。

使用python,我们可以非常快速地开发干净的原型,具有良好的性能。在将来,我们总是可以将CPU密集型代码移到C 在我们确认了热点之后。

构建和测试

$ virtualenv -p python3 .env
$ source .env/bin/activate
$ pip install -r requirements.txt
$ python setup.py build_ext --inplace

$ mkdir ./test_db
$ python scripts/pycardano.py run
sync block data from mainnet and subscribing for new blocks automatically.
$ python scripts/pycardano.py wallet create default
generate wallet

功能

  • 将不同时期的块数据存储在单独的rocksdb数据库中,提供更好的磁盘使用率(完全同步的主链占用1.3g磁盘空间),并允许将来更快的同步。
  • pycardano.py sign用钱包签名,证明钱包地址属于你。
  • pycardano.py verify验证已签名的邮件。
  • pycardano.py utxo stat一些全局utxos的统计信息。

模块

  • cardano.address

    实现Cardano HD地址的派生和编码,以及Lagacy地址格式的钱包恢复。

  • cardano.transport

    实现Haskell的网络传输TCP,在单个TCP连接上多路传输多个轻量级单向连接。

  • cardano.node

    实现cardano sl的Node,允许端点之间的双向对话。

  • cardano.storage

    块和钱包数据的存储api。

  • cardano.block

    块数据结构。

  • cardano.logic

    默认节点的工作者和侦听器。

  • cardano.retrieve

    使用Cardano SL Mainnet检索块数据。

  • cardano.wallet

    根据形式规范实现钱包逻辑。

待办事项

  • 钱包状态存储,一个简单的解决方案首先,希望类似哈斯克尔的酸性状态在最后。
  • 块验证。
  • 使用流api中继块数据。
  • wallet cli应用程序。
  • Wallet v1 API和用于SPV Light客户端的API。
  • 群集钱包存储。

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

推荐PyPI第三方库


热门话题
如何使用JSON将值从安卓 java类传递到php?   Java MySQL语法错误不会消失   java Android应用程序无法启动活动   bytebuffer在Java中从字节解码实数   java我无法在php中解码json对象   Swing中的JavaFX集成   java如何在JPA实体bean中使用或注释虚拟字段,该字段不应持久化到数据库中   来自另一个活动的java访问方法   java Tapestry动态生成图像   java有没有一种正则表达式方法可以将一组字符替换为另一组字符(比如shell tr命令)?   java通过转换gson将一些特定的表导出为文件   用java格式化字符串并写入文件   Java使用Graphics2D矩形在面板中创建2D平铺贴图?