mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-08-29 02:24:35 -05:00
* use a class for the chia cli context data * actually assign to the context properly... * handle the not-present case * catch up * tidy * more * stuff * ... * more real * expected address prefix
64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
import click
|
|
|
|
from chia.cmds.cmd_classes import ChiaCliContext
|
|
|
|
|
|
@click.command("init", help="Create or migrate the configuration")
|
|
@click.option(
|
|
"--create-certs",
|
|
"-c",
|
|
default=None,
|
|
help="Create new SSL certificates based on CA in [directory]",
|
|
type=click.Path(),
|
|
)
|
|
@click.option(
|
|
"--fix-ssl-permissions",
|
|
is_flag=True,
|
|
help="Attempt to fix SSL certificate/key file permissions",
|
|
)
|
|
@click.option("--testnet", is_flag=True, help="Configure this chia install to connect to the testnet")
|
|
@click.option("--set-passphrase", "-s", is_flag=True, help="Protect your keyring with a passphrase")
|
|
@click.option(
|
|
"--v1-db",
|
|
is_flag=True,
|
|
help="Initialize the blockchain database in v1 format (compatible with older versions of the full node)",
|
|
)
|
|
@click.pass_context
|
|
def init_cmd(
|
|
ctx: click.Context,
|
|
create_certs: str,
|
|
fix_ssl_permissions: bool,
|
|
testnet: bool,
|
|
set_passphrase: bool,
|
|
v1_db: bool,
|
|
) -> None:
|
|
"""
|
|
Create a new configuration or migrate from previous versions to current
|
|
|
|
\b
|
|
Follow these steps to create new certificates for a remote harvester:
|
|
- Make a copy of your Farming Machine CA directory: ~/.chia/[version]/config/ssl/ca
|
|
- Shut down all chia daemon processes with `chia stop all -d`
|
|
- Run `chia init -c [directory]` on your remote harvester,
|
|
where [directory] is the copy of your Farming Machine CA directory
|
|
- Get more details on remote harvester on Chia wiki:
|
|
https://github.com/Chia-Network/chia-blockchain/wiki/Farming-on-many-machines
|
|
"""
|
|
from pathlib import Path
|
|
|
|
from chia.cmds.init_funcs import init
|
|
from chia.cmds.passphrase_funcs import initialize_passphrase
|
|
|
|
if set_passphrase:
|
|
initialize_passphrase()
|
|
|
|
init(
|
|
Path(create_certs) if create_certs is not None else None,
|
|
ChiaCliContext.set_default(ctx).root_path,
|
|
fix_ssl_permissions,
|
|
testnet,
|
|
v1_db,
|
|
)
|