Package: eosfactory-tokenika
EOSFactoryis a Python-basedEOSsmart-contract development & testing framework, created byTokenika.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 powerfulPythonsyntax.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 whatEOSFactoryactually 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.EOSFactorywill 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 featuresObject-orientedWhen you use tools likecleosall you have at your disposal is issuing separate, one-off commands, ascleosis not able to keep your state. Thus each time you interact with a contract, you need to tellcleoswhich contract and which account you mean. Contrary to that, inEOSFactoryeverything is an object. You create a contract (or an account), keep reference to it and then invoke its various methods.Simple syntaxThe front-end ofEOSFactoryis simply a Python3Command 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 EOSIOcleos. In most cases Python syntax is immediately clear for everyone.Support for both local and remote testnetRunning tests on a public testnet is much more complex than using a local one where you have full control. The whole infrastructure ofEOSFactoryis 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 namesEOSIOaccounts 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.EOSFactoryhides the actual names of anEOSIOaccounts behind a system of human-friendly aliases.Truly cross-platformWe 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 documentationIntroduction to EOSFactoryInstalling EOSFactoryInteracting with EOS Contracts in EOSFactoryBuilding and deploying EOS Contracts in EOSFactoryWorking with EOS Contracts using EOSFactory in VSCInteracting with Public TestnetUse casesWallet ClassSymbolic NamesAccount ClassMaster AccountComplete documentationPlease refer to thetable of contents.RoadmapOur final goal is to turnEOSFactoryinto a comprehensive IDE (Integrated Development Environment) for EOS smart-contracts.SupportFor issues not covered in the documentation there is a dedicatedEOS Factory Supportchannel on Telegram.LicenceThis code is provided as is, under MIT Licence.