Overview

Introduction

The primary interface to populus is the command line command $ populus.

Command Line Options

$ populus
Usage: populus [OPTIONS] COMMAND [ARGS]...

  Populus

Options:
  -c, --config FILENAME  Specify a populus configuration file to be used.
  -h, --help             Show this message and exit.

Commands:
  chain          Manage and run ethereum blockchains.
  compile        Compile project contracts, storing their...
  deploy         Deploys the specified contracts to a chain.
  init           Generate project layout with an example...
  makemigration  Generate an empty migration.
  migrate        Run project migrations

Project Layout

By default Populus expects a project to be laid out as follows:

└── project root
    ├── populus.json
    ├── build (automatically created during compilation)
    │   └── contracts.json
    ├── contracts
    |   ├── MyContract.sol
    |   ├── ....
    └── tests
        ├── test_my_contract.py
        ├── test_some_other_tests.py
        ├── ....
        └── ....

Initialize

$ populus init --help
Usage: populus init [OPTIONS]

  Generate project layout with an example contract.

Options:
  -h, --help  Show this message and exit.

Running $ populus init will initialize the current directory with the default project layout that populus uses.

  • ./contracts/
  • ./contracts/Greeter.sol
  • ./tests/test_greeter.py