Web3 Development

EosfactoryPython Framework for EOSIO Smart Contracts

Free, MIT-licensed Python framework for EOSIO smart-contract testing. Read the maintenance status, install notes and safety tips before you use it.

Free Open source Windows: Unverified v3.4.0 Updated 25 Jul 2019
6 min read Last update 25 Jul 2019 github.com/tokenika/eosfactory

Eosfactory is a free, open-source Python framework for developing and unit testing smart contracts on EOSIO, the blockchain platform behind the EOS network. It is aimed at developers who already write Python and want to test EOS contracts before anything reaches a live chain. Created by Tokenika and released under the MIT license, it is a developer tool rather than an end-user application.

Before you install it, know its status: the project has had no code updates since July 2019, and the latest version listed is v3.4.0. That makes it an unmaintained tool. Expect gaps against newer EOSIO tooling and review the code yourself before relying on it for serious work.

02

What Is an EOS Smart Contract?

EOSIO is a blockchain platform, and the EOS network runs on it. Smart contracts on EOSIO are programs stored on the chain. They respond to actions sent by accounts and transactions, and they can hold logic for things like token transfers, permissions or game rules.

Because deployed code is public and changes usually require a new deployment, mistakes can be costly. A flaw in a transfer rule may only appear when real users trigger it. That is why developers test contracts before deployment, checking each action against the outcome they expect.

Testing a contract involves a few core ideas. A unit test runs one piece of logic in isolation. An assertion checks an expected result, such as a balance after a transfer. A test environment lets you run these checks without touching a live network. Frameworks like Eosfactory package these ideas into Python code you can run repeatedly.

03

Who Is Eosfactory For?

Eosfactory is for developers who build or maintain EOS smart contracts and who are comfortable with Python. It suits someone who already writes Python scripts and wants the testing layer in the same language. Teams maintaining an existing EOS project may also find it useful for adding regression tests to code that has none.

A typical case looks like this. A developer changes how a contract handles fees, then runs a set of Python tests to confirm that balances and permissions still behave as before. If a test fails, the change gets fixed before anything goes near a live chain.

It is less suitable for people who want a graphical tool, those new to programming who need guided tutorials, or anyone building on Ethereum-style chains. Students and researchers may still use it to study how EOSIO testing works, as long as they treat the code as a reference rather than a production dependency.

04

Key features

Python-based workflow

Eosfactory is written in Python, so the testing workflow runs in a language many developers already use for scripting and automation. Test logic can sit alongside other Python code instead of living in a separate scripting environment. That lowers the learning curve for teams without much EOSIO background.

Unit testing for EOS contracts

The framework is built around unit testing as well as development. You can write tests that exercise contract behavior in isolation, rerun them after each change, and catch regressions early. For projects that otherwise rely on manual checks, this makes the process more repeatable.

Open-source, MIT-licensed code

The source is public on GitHub under the MIT license, which permits private and commercial use with few restrictions. You can read how the framework works, fork it, or adapt it to your own project. Because the code is open, its commit history shows exactly when changes stopped.
05

How to install Eosfactory on Windows

  1. 1

    Get the source from the official repository

    Open the project's GitHub repository at github.com/tokenika/eosfactory and go to the Releases page. Download the release you intend to use; the latest version listed is v3.4.0. Download only from the official repository, never from mirror sites that repackage the code.

  2. 2

    Verify the download

    If the release page publishes a SHA-256 checksum or signature, compare it with your downloaded file. On Windows, PowerShell's Get-FileHash cmdlet can calculate the hash. If no checksum is listed, review the tags and commit history on GitHub before continuing.

  3. Install and set up

    Extract the files and follow the README in the repository for setup instructions. Work inside a dedicated Python environment so the framework's dependencies stay separate from your other projects. Confirm that the included examples run before you write your own contracts.

06

How to use Eosfactory

Eosfactory works like most Python test frameworks: you describe a scenario in code, run it, and read the result. The steps below outline a typical session. Adjust them to the layout described in the repository's documentation.

  1. Create a clean project folder and activate your Python environment.
  2. Write or copy the EOS smart contract you want to test.
  3. Create Python test scripts that deploy the contract to a local test environment.
  4. Call the contract's actions with sample inputs and assert the expected results, such as balances or stored values.
  5. Run the test suite and read the output carefully, including any failed assertions.
  6. Change the contract, rerun the tests, and repeat until the behavior matches what you expect.

Keep test accounts separate from anything tied to a live network, and store any test keys outside your source files.

07

Pros & cons

Pros
  • Free and MIT-licensed, so the code can be read and modified
  • Python-based, which suits developers already comfortable with the language
  • Focused on EOSIO contract development and unit testing
Cons
  • No code updates since July 2019
  • Windows support is mentioned in the documentation but has not been verified
  • Narrow scope: it only targets EOSIO-based chains
08

Is Eosfactory safe?

Eosfactory is an unmaintained project: its last code update was in July 2019, so treat it as a reference and test it carefully before use. Download only from the official GitHub repository or its Releases page, and compare the SHA-256 checksum or signature if one is published. Never paste a seed phrase or a mainnet private key into test scripts, and never enter one on a third-party website. Check the latest version on the official website before you start, and run new code in an isolated environment rather than on a machine holding real keys.

  • Official source only. Download from github.com/tokenika/eosfactory. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
09

Alternatives

Eosfactory is narrower than most tools in this catalog. It targets EOSIO and EOS contracts in Python. Foundry is a toolkit with forge, cast and anvil for Solidity and EVM-based contracts, and Anchor is a framework for building secure Solana programs. Remix Desktop is an IDE for Solidity, while Tenderly CLI focuses on debugging and monitoring contracts. If your work is on EOSIO and you prefer Python, Eosfactory is the only option here built for that chain. For other ecosystems, pick the tool that matches your chain and use Eosfactory only for EOS-specific test work.

10

Specifications

Price
Free
Type
Open source
License
MIT
Latest version
v3.4.0
Last update
25 Jul 2019
Windows support
Unverified (Windows mentioned in docs)
Source code
github.com/tokenika/eosfactory
11

Frequently asked questions

Eosfactory is open source and MIT-licensed, so its code can be inspected, but it has had no code updates since July 2019. Download it only from the official GitHub repository, verify the checksum or signature when one is published, and test it in an isolated environment. Review the code before using it on any project that matters.

No. The latest code update was made on July 25, 2019, and the project has seen no code updates since then. The latest version listed is v3.4.0. Expect it to fall behind current EOSIO tooling, and check compatibility before building anything serious on it.

The documentation mentions Windows, but that support has not been verified for the project, so it should not be treated as a confirmed setup. Test a small example on your own machine first. The project also lists macOS and Linux, so you can try those if the Windows setup gives trouble.

Eosfactory is used to develop and unit test smart contracts for the EOS blockchain. Developers write tests in Python to check that contract actions behave as intended before deployment. It suits projects that want repeatable tests instead of manual checks during development.

Yes. Eosfactory is free and released under the MIT license. You can use, copy and modify the code, including for commercial work, as long as you follow the license terms. No paid tier or purchase is required to use the framework as published.

For Solidity and EVM-based contracts, Foundry is a common toolkit to compare, with forge, cast and anvil. For Solana programs, Anchor is a framework built for secure development. Eosfactory remains the more direct choice when your target chain is EOSIO and you want to write tests in Python.

12

Verdict

Eosfactory suits Python developers who work with EOSIO and want a free, MIT-licensed framework for smart-contract unit testing. It is not a good fit for teams that need active maintenance, a confirmed Windows setup, or support for newer EOSIO tooling. Treat it as a learning resource or a starting point, review its code before use, and weigh it against current options for your chain.

Download now