/safe-cli

Command line utility for Safe

Primary LanguagePythonMIT LicenseMIT

PyPI version Build Status Coverage Status Python 3.9 Python 3.10 Python 3.11 Python 3.12 Docker Image Version (latest semver)

Safe CLI

Safe CLI is a command-line utility for Safe contracts. You can use it to manage your Safe account from the command line.

It does not rely on Safe{Core} API and can also be used in networks where Safe services are unavailable. Learn more through the documentation.

Using Docker

Prerequisite: Install Docker Desktop.

Once Docker is installed on your system, run the following command to create new Safe accounts:

docker run -it safeglobal/safe-cli safe-creator

You can also run the following command to run the Safe CLI with an existing Safe:

docker run -it safeglobal/safe-cli safe-cli <checksummed_safe_address> <ethereum_node_url>

Using Python PIP

Prerequisite: Python >= 3.9 (Python 3.12 is recommended).

Once Python is installed on your system, run the following command to install Safe CLI:

pip3 install -U safe-cli

Usage

safe-cli [-h] [--history] [--get-safes-from-owner] address node_url

positional arguments:
  address                The address of the Safe, or an owner address if --get-safes-from-owner is specified.
  node_url               Ethereum node url

options:
  -h, --help             Show this help message and exit
  --history              Enable history. By default it's disabled due to security reasons
  --get-safes-from-owner Indicates that address is an owner (Safe Transaction Service is required for this feature)

Safe{Core} API/Protocol

Setting up for developing

If you miss something and want to send us a PR:

git clone https://github.com/safe-global/safe-cli.git
cd safe-cli
stat venv 2>/dev/null || python3 -m venv venv
source venv/bin/activate && pip install -r requirements-dev.txt
pre-commit install -f

Contributors