基于python的eos智能合约开发测试框架

eosfactory-tokenika的Python项目详细描述


EOSFactory是一个基于python的EOS智能合约开发和测试框架,由Tokenika创建。

通过一个命令行界面,您可以创建一个私有的testnet,然后编译、测试和部署eos智能合约。

所有这些都使用直观而强大的Python语法。

为什么需要?

代码开发和测试涉及需要执行数百次的任务,每次执行的方式和上下文都完全相同。因此,这些任务需要完全自动化,否则会浪费大量时间,更糟糕的是,还会引入许多额外的不确定性。手动执行的操作容易出错。

而这正是eosfactory真正摆在桌面上的东西:一种简单直观的方法,可以自动化处理智能合约的过程。以python脚本的形式,写下需要以完全相同的方式和完全相同的上下文多次执行的操作,然后运行脚本。eosfactory将处理所有其他事情:它将编译您的智能合约,创建一个新的本地testnet,部署合约,调用其方法并验证响应,然后拆下testnet,最后报告结果。所有这些都在几秒钟内完成。

主要功能

面向对象

当你使用像cleos这样的工具时,你所能使用的只是发出单独的、一次性的命令,因为cleos不能保持你的状态。因此,每次你与合同互动时,你都需要告诉cleos你指的是哪个合同和哪个账户。相反,在eosfactory中,一切都是对象。您可以创建一个契约(或帐户),保留对它的引用,然后调用它的各种方法。

简单语法

eosfactory的前端只是一个python3命令行接口。这样,您就可以与eos smart contract交互,并证明它按预期工作,而不必处理eosiocleos的原始原语。在大多数情况下,python语法对每个人来说都很清楚。

支持本地和远程测试网络

在公共测试网络上运行测试要比使用完全控制的本地测试复杂得多。整个eosfactory的基础结构的设计使得同一个测试能够在两个环境中工作,而在两个环境之间切换只需要更改一个参数。

帐户名的别名

eosio帐户按其名称编制索引,因此这些名称在区块链命名空间中必须是唯一的,并且必须遵循特定的限制。因此,即使在testnet环境中,大多数人类可读的组合已经被采用。eosfactory隐藏一个eosio帐户的实际名称,隐藏在一个人类友好的别名系统后面。

真正跨平台

我们确保我们所做的一切都与Windows完全兼容—我们的工具集使您能够运行EOS节点,并在任何操作系统上与之交互,包括Windows、MacOS和Linux。

完整文档

请参考table of contents

路线图

我们的最终目标是将eosfactory变成一个用于eos智能合约的综合ide(集成开发环境)。

支架

对于文件中未涉及的问题在电报上有一个专用的EOS Factory Support频道。

许可证

根据麻省理工学院的许可证,本规范按原样提供。

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

推荐PyPI第三方库


热门话题
在java代码中实现两个侦听器时发生swing错误   Lambda是否完全取消了Java8中匿名内部类的使用?   swing OpenSuse 12.3+Java双显示   POM中的java错误。xml文件,即使在清理{users}/之后。m2/用于*上次更新文件的存储库   JavaEDT特定的方法和其他东西   java如何使用GridLayout设置组件大小?有更好的办法吗?   java在itext7中生成二维码时,如何调整点的大小?   java如何在多行上显示文本并右对齐?   java在WebSphereCluString环境中分离Log4j日志   JAVA从文件读取,返回BigInteger值   当使用rxjava2进行排列时,使用javamockito。重试()   在java fasterxml中创建Xml   使用64位整数进行模运算的64位整数的java快速乘法,无溢出   java静态变量保留以前发布的值   datastax enterprise SSTable loader流式处理无法提供java。木卫一。IOException:对等方重置连接   java匹配的通配符是严格的,但找不到元素“mvc:annotationdriven”的声明。标准包装。可抛出   java无法在浏览器上下载文件文档?