Ejemplo n.º 1
0
def initialize_data_dir(trinity_config: TrinityConfig) -> None:
    should_create_data_dir = (not trinity_config.data_dir.exists()
                              and is_under_path(
                                  trinity_config.trinity_root_dir,
                                  trinity_config.data_dir))
    if should_create_data_dir:
        trinity_config.data_dir.mkdir(parents=True, exist_ok=True)
    elif not trinity_config.data_dir.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            f"The base chain directory provided does not exist: `{str(trinity_config.data_dir)}`",
            trinity_config.data_dir,
        )

    # Logfile
    should_create_logdir = (not trinity_config.logdir_path.exists()
                            and is_under_path(trinity_config.trinity_root_dir,
                                              trinity_config.logdir_path))
    if should_create_logdir:
        trinity_config.logdir_path.mkdir(parents=True, exist_ok=True)
        trinity_config.logfile_path.touch()
    elif not trinity_config.logdir_path.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            "The base logging directory provided does not exist: `{0}`".format(
                trinity_config.logdir_path, ), trinity_config.logdir_path)

    # Chain data-dir
    os.makedirs(trinity_config.database_dir, exist_ok=True)

    # Nodekey
    if trinity_config.nodekey is None:
        nodekey = ecies.generate_privkey()
        with open(trinity_config.nodekey_path, 'wb') as nodekey_file:
            nodekey_file.write(nodekey.to_bytes())
Ejemplo n.º 2
0
def initialize_data_dir(chain_config: ChainConfig) -> None:
    if not chain_config.data_dir.exists() and is_under_xdg_trinity_root(
            chain_config.data_dir):
        chain_config.data_dir.mkdir(parents=True, exist_ok=True)
    elif not chain_config.data_dir.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            "The base chain directory provided does not exist: `{0}`".format(
                chain_config.data_dir, ), chain_config.data_dir)

    # Logfile
    if (not chain_config.logdir_path.exists()
            and is_under_xdg_trinity_root(chain_config.logdir_path)):

        chain_config.logdir_path.mkdir(parents=True, exist_ok=True)
        chain_config.logfile_path.touch()
    elif not chain_config.logdir_path.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            "The base logging directory provided does not exist: `{0}`".format(
                chain_config.logdir_path, ), chain_config.logdir_path)

    # Chain data-dir
    os.makedirs(chain_config.database_dir, exist_ok=True)

    # Nodekey
    if chain_config.nodekey is None:
        nodekey = ecies.generate_privkey()
        with open(chain_config.nodekey_path, 'wb') as nodekey_file:
            nodekey_file.write(nodekey.to_bytes())
Ejemplo n.º 3
0
def initialize_data_dir(trinity_config: TrinityConfig) -> None:
    should_create_data_dir = (
        not trinity_config.data_dir.exists() and
        is_under_path(trinity_config.trinity_root_dir, trinity_config.data_dir)
    )
    if should_create_data_dir:
        trinity_config.data_dir.mkdir(parents=True, exist_ok=True)
    elif not trinity_config.data_dir.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            f"The base chain directory provided does not exist: `{str(trinity_config.data_dir)}`",
            trinity_config.data_dir,
        )

    # Logfile
    should_create_logdir = (
        not trinity_config.log_dir.exists() and
        (
            # If we're in the default path, always create the log directory
            is_under_path(trinity_config.trinity_root_dir, trinity_config.log_dir) or
            (
                # If we're in a custom path, create the log directory if the data dir is empty
                is_under_path(trinity_config.data_dir, trinity_config.log_dir) and
                not any(trinity_config.data_dir.iterdir())
            )
        )
    )
    if should_create_logdir:
        trinity_config.log_dir.mkdir(parents=True, exist_ok=True)
        trinity_config.logfile_path.touch()
    elif not trinity_config.log_dir.exists():
        # we don't lazily create the base dir for non-default base directories.
        raise MissingPath(
            "The base logging directory provided does not exist: `{0}`".format(
                trinity_config.log_dir,
            ),
            trinity_config.log_dir,
        )

    # Initialize chain, pid, ipc and enrdb directories
    os.makedirs(trinity_config.pid_dir, exist_ok=True)
    os.makedirs(trinity_config.ipc_dir, exist_ok=True)
    os.makedirs(trinity_config.node_db_dir, exist_ok=True)

    # Nodekey
    if trinity_config.nodekey is None:
        nodekey = ecies.generate_privkey()
        with open(trinity_config.nodekey_path, 'wb') as nodekey_file:
            nodekey_file.write(nodekey.to_bytes())