core.teos

eosfactory.core.teos.build(contract_dir_hint, c_cpp_properties_path=None, compile_only=False, is_test_mode=False, is_execute=False, verbosity=None)[source]

Produce ABI and WASM files.

Compiler options come with the argument ‘c_cpp_properties_path’, as components of ‘compilerOptions’ list. Option can be any of the ‘eosio-cpp’ options, plus the following ones:

  • –src - list of the source files, absolute or relative to ‘src’ or
    project directories, for example: –src hello.cpp tests/hello_test.cpp
  • -o - the same as the corresponding eosio-cpp option, but may be relative
    to ‘build’ directory

Without any option set, the only source file is determined as a result of the function core.config.contract_source_files(), if the result is a single file. If it is not, an error is thrown, stating that the source file has to be specified with the ‘–src’ option.

The ABI and WASM targets are named after the contract source file.

Parameters:
  • contract_dir_hint (str) – Path, may be partial, to the project directory.
  • c_cpp_properties_path (str) – If set, the path to a c_cpp_properties json file in ‘.vscode’ folder in the project directory.
  • compile_only (bool) – If set, do not link.
  • verbosity (([core.logger.Verbosity])) – Verbosity parameter, used in loggers.
eosfactory.core.teos.get_pid(name=None)[source]

Return process ids found by (partial) name or regex.

>>> get_process_id('kthreadd')
[2]
>>> get_process_id('watchdog')
[10, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61]  # ymmv
>>> get_process_id('non-existent process')
[]
eosfactory.core.teos.node_start(clear=False, nodeos_stdout=None)[source]

Start the local EOSIO node.

Parameters:
  • clear (bool) – If set, the blockchain is deleted and then re-created.
  • nodeos_stdout (str) – If set, a file where stdout stream of the local nodeos is send. Note that the file can be included to the configuration of EOSFactory, see core.config.nodeos_stdout(). If the file is set with the configuration, and in the same time it is set with this argument, the argument setting prevails.
eosfactory.core.teos.project_from_template(project_name, template=None, workspace_dir=None, c_cpp_prop_path=None, includes=None, libs=None, remove_existing=False, open_vscode=False, throw_exists=False, verbosity=None)[source]

Given the project name and template name, create a smart contract project.

  • parameters:

    project_name: The name of the project, or an existing path to
        a directory.
    template: The name of the template used.
    workspace_dir: If set, the folder for the work-space. Defaults to the
        value returned by the config.contract_workspace_dir() function.
    includes: If set, comma-separated list of include folders.
    libs: If set, comma-separated list of libraries.
    remove_existing: If set, overwrite any existing project.
    visual_studio_code: If set, open the ``VSCode``, if available.
    verbosity: The logging configuration.