Skip to main content

Python-based EOS smart-contract development & testing framework

Project description

EOSFactory is a Python-based EOS smart-contract development & testing framework, created by Tokenika.

With a single command-line interface you can create a private testnet and then compile, test and deploy EOS smart-contracts.

All of this using intuitive yet powerful Python syntax.

Why it’s needed?

Code development and testing involve tasks that need to be executed hundreds of times, and each time in exactly the same way and exactly the same context. Therefore those tasks need to be fully automated, as otherwise a lot of time is being wasted and, what’s even worse, a lot of additional uncertainty is introduced. Manually performed actions are prone to errors.

And this is what EOSFactory actually brings to the table: an easy & intuitive way to automate the process of dealing with smart-contracts. Write down, in the form of a Python script, what needs to be done multiple times in exactly the same way and exactly the same context, and then just run the script. EOSFactory will take care of everything else: it will compile your smart-contract, create a new local testnet, deploy the contract, invoke its methods and verify the response, then tear down the testnet, and finally report the results. And all of this done in a couple of seconds.

Main features

Object-oriented

When you use tools like cleos all you have at your disposal is issuing separate, one-off commands, as cleos is not able to keep your state. Thus each time you interact with a contract, you need to tell cleos which contract and which account you mean. Contrary to that, in EOSFactory everything is an object. You create a contract (or an account), keep reference to it and then invoke its various methods.

Simple syntax

The front-end of EOSFactory is simply a Python3 Command Line Interface. This way you can interact with EOS smart-contract, and prove it works as expected, instead having to deal with the raw primitives of the EOSIO cleos. In most cases Python syntax is immediately clear for everyone.

Support for both local and remote testnet

Running tests on a public testnet is much more complex than using a local one where you have full control. The whole infrastructure of EOSFactory is designed in such a way that the same test is able to work in both environments, and switching between them is just a matter of changing one parameter.

Aliases for account names

EOSIO accounts are indexed by their names, thus those names have to be unique within the blockchain namespace and have to follow specific restrictions. As a result, most of the human readable combinations are already taken, even in a testnet environment. EOSFactory hides the actual names of an EOSIO accounts behind a system of human-friendly aliases.

Truly cross-platform

We make sure everything we do is fully compatible with Windows - our toolset enables you to run an EOS node and interact with it on any operating system, including Windows, MacOS and Linux.

User documentation

Use cases

Complete documentation

Please refer to the table of contents.

Roadmap

Our final goal is to turn EOSFactory into a comprehensive IDE (Integrated Development Environment) for EOS smart-contracts.

Support

For issues not covered in the documentation there is a dedicated EOS Factory Support channel on Telegram.

Licence

This code is provided as is, under MIT Licence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eosfactory_olexiyb-3.4.2.tar.gz (96.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eosfactory_olexiyb-3.4.2-py3-none-any.whl (144.3 kB view details)

Uploaded Python 3

File details

Details for the file eosfactory_olexiyb-3.4.2.tar.gz.

File metadata

  • Download URL: eosfactory_olexiyb-3.4.2.tar.gz
  • Upload date:
  • Size: 96.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

File hashes

Hashes for eosfactory_olexiyb-3.4.2.tar.gz
Algorithm Hash digest
SHA256 5e3c9b434d782b03e1ca0f9e585b726c4f2f08ba193f10e5eae7634ca46a8638
MD5 e53bbd64a31882571d2331f708b13cce
BLAKE2b-256 7a441d5857713f9c33fefbd756741c5e67efbd6d9fc4a26b67887fb5db7c2fb9

See more details on using hashes here.

File details

Details for the file eosfactory_olexiyb-3.4.2-py3-none-any.whl.

File metadata

  • Download URL: eosfactory_olexiyb-3.4.2-py3-none-any.whl
  • Upload date:
  • Size: 144.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

File hashes

Hashes for eosfactory_olexiyb-3.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 218689c781c84e3adf33ff772694a33feb4f47fb2ac527e0425ed9ce8d51f578
MD5 c59701c8c1c39234ce55fbdd0ef725a4
BLAKE2b-256 f25ea481fc5e454f3763a6f343dfdedd5d42dd1bac2aa822e2fc3146123e78ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page