24个版本
0.7.9 | 2023年10月30日 |
---|---|
0.7.2 | 2023年5月18日 |
0.6.0 | 2023年1月28日 |
0.5.0 | 2022年12月19日 |
0.0.28 | 2021年10月6日 |
#1559 in 魔法豆
42 每月下载量
56KB
503 行
holochain-runner
一个适用于快速启动并包括密钥生成和hApp安装的备用Holochain控制台二进制文件。
holochain-runner 0.7.8
wrapped Holochain Conductor with Status Update events, and a good SIGTERM kill switch
USAGE:
holochain-runner [OPTIONS] <happ-path> [datastore-path]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--admin-ws-port <admin-ws-port> [default: 1234]
--app-id <app-id> [default: main-app]
--app-ws-port <app-ws-port>
The 0 default value here really means that
a random open port will be selected if you don't pass one.
The selected value will be reported out in the logs. [default: 0]
--bootstrap-url <bootstrap-url> [default: https://bootstrap.holo.host]
--keystore-path <keystore-path>
This folder will store the private keys. It is encrypted on both Mac and Linux, but not Windows.
Per the behaviour of holochain itself, if you
do not pass a value here, it will use a default which is equal to the
value of `<datastore_path>/keystore`.
--network-seed <network-seed>
--webrtc-signal-url <webrtc-signal-url>
Websocket URL (wss) to a holochain tx5 WebRTC signal server [default: wss://signal.holo.host]
--gossip-arc-clamping <gossip-arc-clamping>
Fix the size of the gossip arc you are responsible for serving to either the full DHT (full), or none of it (empty). Default behavior is to auto-adjust your gossip arc based on network conditions.
[default: auto] [possible values: full, empty, none]
ARGS:
<happ-path> the path to a HAPP file to be
default installed to the app,
ending in .happ
<datastore-path> configuration values for `app_id` and `app_ws_port`
will be overridden if an existing
configuration is found at this path [default: databases]
工作原理
Lair密钥库设置需要使用密码进行加密和安全。您应将密码通过管道传递给holochain-runner
作为标准输入,以便它可以解锁lair-keystore并连接到它。您不需要传递-p
,它假定密码将通过管道传递。
datastore-path
最为重要。如果在指定的目录中找到现有持久化的Holochain控制台文件,它将简单地重用该配置中的admin_ws_port
、app_ws_port
、app_id
和dnas
。否则,它将创建该目录,并根据指定设置配置您的配置。
keystore-path
可以指向一个空文件夹,或一个现有的密钥库,只要该密钥库使用兼容的密钥库格式即可。如果现有密钥库中有私钥,它将使用该私钥安装HAPP;如果没有,它将在首次运行时自动生成一个。
它使用structopt创建一个可配置的服务。对于更高级的应用程序,使用关闭信号和StateSignal
监听器,您可以在Acorn Holochain应用程序中查看其使用情况。
在任何情况下,
- 首次运行/安装
- 第二次运行/重启
当所有接口都就绪且应用程序已安装或正在运行时,它将在控制台记录此信息
HOLOCHAIN_RUNNER_IS_READY
它将清楚地将其配置记录到控制台。
RUST_LOG环境变量可以设置为从Holochain获取详细信息日志。这些日志默认被抑制。
事件
它可能会根据枚举中的事件类型StateSignal
触发事件。这些事件将被记录到控制台,以便您可以跟踪内部状态和进度。
看起来像
pub enum StateSignal {
// will be only one or the other of these
IsFirstRun,
IsNotFirstRun,
// are sub events after IsFirstRun
CreatingKeys,
RegisteringDna,
InstallingApp,
EnablingApp,
AddingAppInterface,
// Done/Ready Event, called when websocket interfaces and
// everything else is ready
IsReady,
}
引导网络服务
该库默认指向https://bootstrap.holo.host
节点发现服务,但可以被覆盖。
信号服务
该库当前默认指向wss://signal.holo.host
WebRTC信号服务,但可以被覆盖。
依赖项
~83–120MB
~2M SLoC