Skip to main content

一个快速、灵活、简单的以太坊智能合约开发环境框架,在以太坊虚拟机(EVM)上进行测试和部署。https://cobraframework.github.io

项目描述

构建状态 PyPI - Python 版本 PyPI 许可证 PyPI 版本 覆盖状态


一个快速、灵活、简单的以太坊智能合约开发环境框架,在以太坊虚拟机(EVM)上进行测试和部署。

使用 cobra,您可以获得内置的智能合约编译、链接、部署、二进制管理、使用 Unittest 和 PyTest 框架的自动化合约测试、可编写脚本的部署和迁移框架以及用于部署到许多公共和私有网络(如INFURAGanache CLI )的网络管理。

依赖

此库需要存在solc可执行文件。

>=0.4.2尽管此库可能与其他版本一起使用,但仅支持和测试版本。

  • solc:以太坊可靠性编译器。
  • ganache-cli:以太坊区块链服务器的命令行版本。
  • pip:从 Python 包索引和其他索引安装包。
  • python3:版本 3.6 或更高版本。

安装

PIP 在全球范围内安装 cobra。对于 Linux 可能需要 sudo。

$ pip install py-cobra

发展

我们欢迎拉取请求。要开始,只需 fork 这个 repo,在本地克隆它,然后运行:

$ pip install -e . -r requirements.txt

快速使用

初始化项目结构

一组默认的合同和测试,运行以下命令:

$ cobra init

得到帮助:

$ cobra --help

从那里,您可以运行cobra compilecobra deploy/migrate编译cobra test --unittest/--pytest 您的合约,将这些合约部署到网络,并运行它们相关的单元测试。

高级眼镜蛇.yaml
compile:
  solidity_path: "./contracts" # global
  artifact_path: "./build/contracts"
  contracts: [
    contract: {
        solidity: "Contract.sol",
        solidity_path: "./contracts/libs", # detail
        import_remappings: [
          "=/path/folder/contracts/"
       ],
        allow_paths: [
          "/path/folder/contracts/"
        ]
    }
  ]

deploy:
  artifact_path: "./build/contracts/"
  contracts: [
    contract: {
        artifact: "Contract.json",
        links: ["Contract.json"]
    }
  ]

test:
  artifact_path: "./build/contracts/"
  test_paths: ["./tests"]
  contracts: [
    contract: {
        artifact: "Contract.json",
        links: ["Contract.json"]
    }
  ]

network:
  development: {
    url: "https://ropsten.infura.io/...",
    host: "localhost",
    port: 8545,
    hdwallet: {
        mnemonic: "decide adjust legend nation type same task aim rigid lucky guilt close", # or
        seed: "decide adjust legend nation type same task aim rigid lucky guilt close",
        password: "meherett",
        private: "5f8935bb3b61b312ba1114cbf6f1ea30102383f2b043a1b213aa482132d25049",
        gas: 3000000,
        gas_price: 1000000
    },
    protocol: "HTTP", # HTTP, HTTPS, WS(WebSocket) and ICP
    account: {
      address: "0x6a373a75c388ac2d160f1d2b6d9ada34f29831cd",
      gas: 3000000,
      gas_price: 1000000
    }
  }

测试

测试仍在开发中。

您可以使用以下命令运行测试:

$ pytest tests

或用于tox针对全套构建目标运行完整套件,或使用 pytest 针对特定版本的 Python 运行特定测试。

Meheret Tesfaye – @meherettmeherett@zoho.com

根据 MIT 许可分发。有关LICENSE更多信息,请参阅。

https://github.com/meherett

执照

该项目在 MIT 许可下获得许可 - 请参阅LICENSE文件了解详细信息

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

py-cobra-0.1.0.tar.gz (23.1 kB 查看哈希

已上传 source

内置分布

py_cobra-0.1.0-py3-none-any.whl (29.3 kB 查看哈希

已上传 py3