# Deploying a runtime This doc shows step-by-step how to run a compute node that serves a paratime. Environment: ```bash= $ oasis -v Software version: v0.16.1-git49b6f25 Oasis SDK version: v0.16.0 Oasis Core version: v0.2505.0 Go toolchain version: go1.24.7 $ oasis-node -v Software version: 25.6 Consensus: Consensus protocol version: 7.0.0 Runtime: Host protocol version: 5.1.0 Committee protocol version: 5.0.0 Go toolchain version: 1.25.2 $ rustup show active toolchain ---------------- name: nightly-2025-05-09-x86_64-unknown-linux-gnu active because: overridden by '/home/marcelo/git/marcelomorgado/matrix/minimal-runtime/rust-toolchain.toml' installed targets: wasm32-unknown-unknown x86_64-fortanix-unknown-sgx x86_64-unknown-linux-gnu ``` ## Deploy a minimal-runtime A minimal runtime repo was built based on [this doc](https://docs.oasis.io/build/tools/build-paratime/minimal-runtime). The code wasn't copiling (I suppose it's due to outdated code) so I did fix by borrowing some code from the Emerald Paratime. ### compilation ```bash= OASIS_UNSAFE_USE_LOCALNET_CHAINID=42260 cargo build export RUNTIME_ID=8000000000000000000000000000000000000000000000000000000000000000 orc init target/release/minimal-paratime --runtime-id $RUNTIME_ID ``` ## Run a validator node ```bash= #!/bin/bash export BASE_DIR=/tmp/runtime-example rm -rf $BASE_DIR mkdir $BASE_DIR ${OASIS_CORE_PATH}/oasis-net-runner \ --basedir.no_temp_dir \ --basedir $BASE_DIR \ --fixture.default.node.binary ${OASIS_CORE_PATH}/oasis-node \ --fixture.default.setup_runtimes=false \ --fixture.default.runtime.loader ${OASIS_CORE_PATH}/oasis-core-runtime-loader \ --fixture.default.runtime.provisioner unconfined \ --fixture.default.keymanager.binary '' \ --fixture.default.deterministic_entities \ --fixture.default.fund_entities \ --fixture.default.num_entities 1 ``` ## Setup and run compute node Build config file ```bash= #!/bin/bash export RUNTIME_ORC=/path/to/minimal-runtime.orc export RUNTIME_NODE_DIR=/path/to/compute-0 export RUNTIME_LOADER=$OASIS_CORE_PATH/oasis-core-runtime-loader export LOCAL_NETWORK_DIR=/tmp/runtime-example/net-runner/network export SEED_NODE_ID=`cat $LOCAL_NETWORK_DIR/seed-0/p2p_pub.pem | head -2 | tail -1` export SEED_NODE_ADDRESS1=$SEED_NODE_ID@127.0.0.1:20000 export SEED_NODE_ADDRESS2=$SEED_NODE_ID@127.0.0.1:20001 export RUNTIME_ID=8000000000000000000000000000000000000000000000000000000000000000 export RUNTIME_NODE_CONFIG=$RUNTIME_NODE_DIR/config.yml export EXTERNAL_IP="127.0.0.1" export GENESIS_JSON=$LOCAL_NETWORK_DIR/genesis.json export CONSENSUS_PORT=20006 export P2P_PORT=20007 export ENTITY_DIR="$LOCAL_NETWORK_DIR/entity-1" export ENTITY_ID=`cat $ENTITY_DIR/entity.json | jq -r .id` mkdir -m 0700 $RUNTIME_NODE_DIR/data cat << EOF > "${RUNTIME_NODE_CONFIG}" mode: compute common: data_dir: ${RUNTIME_NODE_DIR}/data log: file: ${RUNTIME_NODE_DIR}/node.log format: logfmt level: default: INFO debug: allow_root: true rlimit: 50000 genesis: file: ${GENESIS_JSON} consensus: validator: false listen_address: tcp://0.0.0.0:${CONSENSUS_PORT} external_address: tcp://${EXTERNAL_IP}:${CONSENSUS_PORT} p2p: max_num_inbound_peers: 100 max_num_outbound_peers: 20 send_rate: 5120000 recv_rate: 5120000 persistent_peers: [] unconditional_peers: [] disable_peer_exchange: false persistent_peers_max_dial_period: 0s submission: gas_price: 0 max_fee: 10000000000 halt_epoch: 18446744073709551615 upgrade_stop_delay: 10s prune: strategy: none num_kept: 3600 interval: 2m0s checkpointer: disabled: false check_interval: 1m0s parallel_chunker: false supplementary_sanity: enabled: false interval: 10 debug: addr_book_lenient: true allow_duplicate_ip: true runtime: runtimes: - id: ${RUNTIME_ID} paths: - ${RUNTIME_ORC} provisioner: unconfined sandbox_binary: /usr/bin/bwrap environment: auto prune: strategy: none interval: 2m0s num_kept: 600 indexer: batch_size: 1000 tx_pool: schedule_max_tx_pool_size: 50000 schedule_tx_cache_size: 100000 check_tx_max_batch_size: 128 recheck_interval: 5 republishinterval: 1m0s pre_warm_epochs: 3 registries: - http://127.0.0.1:20012 sgx: loader: ${RUNTIME_LOADER} tdx: cid_start: 2769616896 cid_count: 1024 log: max_log_size: 1048576 p2p: port: ${P2P_PORT} seeds: - ${SEED_NODE_ADDRESS1} - ${SEED_NODE_ADDRESS2} discovery: bootstrap: enable: true retention_period: 1h0m0s gossipsub: peer_outbound_queue_size: 32 validate_queue_size: 32 validate_concurrency: 1024 validate_throttle: 8192 peer_manager: connectedness_low_water: 0.2 connection_manager: max_num_peers: 100 peer_grace_period: 20s pprof: bind_address: 0.0.0.0:0 metrics: mode: none address: 127.0.0.1:3000 interval: 5s registration: entity: "${ENTITY_DIR}/entity.json" #entity_id: ${ENTITY_ID} storage: backend: auto max_cache_size: 256mb fetcher_count: 4 public_rpc_enabled: true checkpoint_sync_disabled: true checkpointer: enabled: true check_interval: 0s parallel_chunker: false sentry: enabled: false control: port: 9009 authorized_pubkeys: [] EOF ``` ## Start compute node ```bash= #!/bin/bash oasis-node --config config.yml \ --debug.dont_blame_oasis \ --debug.allow_test_keys ``` ## Setup CLI ```bash= export ADDR=unix:data/internal.sock oasis network remove localnet -y oasis network add-local localnet --symbol TEST $ADDR -y oasis network set-default localnet ``` ## Register compute node ```bash= #!/bin/bash export ADDR=unix:data/internal.sock export RUNTIME_NODE_ID=`oasis-node control status -a $ADDR | jq .identity.node -r` export ENTITY_FILE=/tmp/runtime-example/net-runner/network/entity-1/entity.json cat $ENTITY_FILE | jq --arg id "${RUNTIME_NODE_ID}" '.nodes |= .+ [$id]' > /tmp/tmp mv /tmp/tmp $ENTITY_FILE # Update entity oasis account entity register $ENTITY_FILE --account entity1 ``` ## Register runtime ```bash= #!/bin/bash export ADDR=unix:/path/to/compute-0/data/internal.sock export LOCAL_NETWORK_DIR=/tmp/runtime-example/net-runner/network export ENTITY_DIR=$LOCAL_NETWORK_DIR/entity-1/ export ENTITY_ID=`cat $ENTITY_DIR/entity.json | jq -r .id` export GENESIS_JSON=$LOCAL_NETWORK_DIR/genesis.json export RUNTIME_ID=8000000000000000000000000000000000000000000000000000000000000000 export RUNTIME_DESCRIPTOR=/tmp/runtime-example/runtime_descriptor.json export LATEST_HEIGHT=`oasis-node control status -a $ADDR | jq .consensus.latest_height` export VALID_FROM=$((LATEST_HEIGHT + 50)) export VERSION_MAJOR=0 export VERSION_MINOR=1 cat << EOF > "${RUNTIME_DESCRIPTOR}" { "v": 3, "id": "${RUNTIME_ID}", "entity_id": "${ENTITY_ID}", "genesis": { "state_root": "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a", "round": 0 }, "kind": 1, "tee_hardware": 0, "executor": { "group_size": 1, "group_backup_size": 0, "allowed_stragglers": 0, "round_timeout": 5, "max_messages": 32 }, "txn_scheduler": { "algorithm": "simple", "batch_flush_timeout": 1000000000, "max_batch_size": 1000, "max_batch_size_bytes": 16777216, "propose_batch_timeout": 2000000000 }, "storage": { "checkpoint_interval": 0, "checkpoint_num_kept": 0, "checkpoint_chunk_size": 0 }, "admission_policy": { "any_node": {} }, "staking": { "min_in_message_fee": "0" }, "governance_model": "entity", "deployments": [ { "version": { "major": ${VERSION_MAJOR}, "minor": ${VERSION_MINOR} }, "valid_from": ${VALID_FROM} } ] } EOF export NONCE=1 oasis-node registry runtime gen_register \ --transaction.fee.gas 1000 \ --transaction.fee.amount 0 \ --transaction.file /tmp/runtime-example/register_runtime.tx \ --transaction.nonce $NONCE \ --genesis.file $GENESIS_JSON \ --signer.backend file \ --signer.dir $ENTITY_DIR \ --runtime.descriptor $RUNTIME_DESCRIPTOR \ --debug.dont_blame_oasis \ --debug.allow_test_keys -y oasis-node consensus submit_tx --transaction.file /tmp/runtime-example/register_runtime.tx --address $ADDR ``` ## Debug <details> <summary>oasis-node control status -a $ADDR</summary> ```bash= { "software_version": "25.6", "mode": "compute", "debug": { "enabled": true, "allow_root": true }, "identity": { "node": "UtP9DV7xdsZGCpS1z9A/uGQXWZqBqBqoMeKZKehvh1M=", "consensus": "gebMxZT6WRdVDnQ6qU7on3nNjhANOJpNeTTXTGRMAns=", "tls": "/LKPHkvzvx8fOJ6AWz68xiA6ez9wGodaATp5+4fon7w=" }, "consensus": { "status": "ready", "version": { "major": 7 }, "backend": "tendermint", "features": 3, "latest_height": 796, "latest_hash": "875311739ac22a8c9f3044a6d91d2abefc3d02b0ddba83033c658834a07d3771", "latest_time": "2026-01-09T13:52:05Z", "latest_epoch": 26, "latest_state_root": { "ns": "0000000000000000000000000000000000000000000000000000000000000000", "version": 795, "root_type": 1, "hash": "b49ebe0eb4f8cfd2bc315611f3e32fd4ae426ee8faf8bacbb91cb090c2a05dc3" }, "latest_block_size": 926, "genesis_height": 1, "genesis_hash": "4fd2dda1f40d721d3a3a7ac0eaf017e99b4a5f503bde2eb29fd7cc346c7dfe33", "last_retained_height": 1, "last_retained_hash": "4fd2dda1f40d721d3a3a7ac0eaf017e99b4a5f503bde2eb29fd7cc346c7dfe33", "chain_context": "4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809", "is_validator": false, "p2p": { "pub_key": "u+ZT7NPy8iyuVRwy78caoAC/oVJAkLmm5vBwsVsIYDI=", "peer_id": "3591dcf2dcc06060f6b985b999de289041da4070", "addresses": [ "u+ZT7NPy8iyuVRwy78caoAC/oVJAkLmm5vBwsVsIYDI=@127.0.0.1:20006" ], "peers": [ "7837ec1d84e209003d2b67dafdc1a1f597a1026d@127.0.0.1:20004", "0fcfe995539683b92c8b5aedefcd6a54bade8e8d@127.0.0.1:20002", "3cf23ebc1a466499ada519770984761b2d7322ae@127.0.0.1:58072" ] } }, "light_client": { "latest_height": 0, "latest_hash": "0000000000000000000000000000000000000000000000000000000000000000", "latest_time": "0001-01-01T00:00:00Z", "oldest_height": 0, "oldest_hash": "0000000000000000000000000000000000000000000000000000000000000000", "oldest_time": "0001-01-01T00:00:00Z", "peer_ids": [ "12D3KooWM3HFBfGEBwwAPz3yPpEuyP8XW58Dnb197GqdH5BSS6hF", "12D3KooWQgRgjkvs2zdCHCWQhfVTKUqccbqNwNJeradHbT6VGYK9" ] }, "runtimes": { "8000000000000000000000000000000000000000000000000000000000000000": { "descriptor": { "v": 3, "id": "8000000000000000000000000000000000000000000000000000000000000000", "entity_id": "JTUtHd4XYQjh//e6eYU7Pa/XMFG88WE+jixvceIfWrk=", "genesis": { "state_root": "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a", "round": 0 }, "kind": 1, "tee_hardware": 0, "executor": { "group_size": 1, "group_backup_size": 0, "allowed_stragglers": 0, "round_timeout": 5, "max_messages": 32 }, "txn_scheduler": { "batch_flush_timeout": 1000000000, "max_batch_size": 1000, "max_batch_size_bytes": 16777216, "propose_batch_timeout": 2000000000 }, "storage": { "checkpoint_interval": 0, "checkpoint_num_kept": 0, "checkpoint_chunk_size": 0 }, "admission_policy": { "any_node": {} }, "staking": { "min_in_message_fee": "0" }, "governance_model": "entity", "deployments": [ { "version": { "minor": 1 }, "valid_from": 500 } ] }, "latest_round": 1, "latest_hash": "d905225e286ea5764e9af2dd47755bc2c37c1df2efd6fd9b923603ced6da2cd1", "latest_time": "2026-01-09T13:47:36Z", "latest_state_root": { "ns": "8000000000000000000000000000000000000000000000000000000000000000", "version": 1, "root_type": 1, "hash": "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a" }, "genesis_round": 0, "genesis_hash": "bf97616631b10256dbec2d6b1a25046d46a01bbe62619825f66845a6fadfa030", "last_retained_round": 0, "last_retained_hash": "bf97616631b10256dbec2d6b1a25046d46a01bbe62619825f66845a6fadfa030", "committee": { "status": "waiting for hosted runtime provision", "active_version": null, "latest_round": 1, "latest_height": 540, "executor_roles": null, "scheduler_rank": 18446744073709551615, "peers": null, "host": { "versions": [ { "minor": 1 } ] } }, "executor": { "status": "waiting for runtime readiness" }, "storage": { "status": "syncing rounds", "last_finalized_round": 1 }, "indexer": { "status": "indexing", "last_round": 0 }, "provisioner": "composite{none: sandbox, sgx: sgx, tdx: tdx-qemu}", "components": [ { "kind": "ronl", "version": { "minor": 1 } } ] } }, "registration": { "last_attempt_successful": false, "last_attempt": "0001-01-01T00:00:00Z", "last_registration": "0001-01-01T00:00:00Z" }, "p2p": { "pub_key": "u+ZT7NPy8iyuVRwy78caoAC/oVJAkLmm5vBwsVsIYDI=", "peer_id": "12D3KooWNTr7Qz2kgKfqEYezJrsWTTkX4CKzGHJGTCuYxd8WyNu7", "addresses": [ "127.0.0.1:20007", "192.168.1.81:20007" ], "num_peers": 2, "num_connections": 2, "protocols": { "/oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/checkpointsync/8000000000000000000000000000000000000000000000000000000000000000/1.0.0": 0, "/oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/diffsync/8000000000000000000000000000000000000000000000000000000000000000/1.0.0": 0, "/oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/light/1.0.0": 2, "/oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/storagesync/8000000000000000000000000000000000000000000000000000000000000000/2.0.0": 0, "/oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/txsync/8000000000000000000000000000000000000000000000000000000000000000/2.0.0": 0 }, "topics": { "oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/committee/8000000000000000000000000000000000000000000000000000000000000000/5.0.0": 0, "oasis/4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809/tx/8000000000000000000000000000000000000000000000000000000000000000/5.0.0": 0 } } } ``` </details> <details> <summary>oasis network status</summary> ```= === NETWORK STATUS === Network: localnet Node's ID: UtP9DV7xdsZGCpS1z9A/uGQXWZqBqBqoMeKZKehvh1M= Core version: 25.6 ==== Consensus ==== Status: ready Version: 7.0.0 Chain context: unknown (4ef7fc27a052780a3a9dd91387214295c5d023a705e587188d39a2d0e2645809) Latest height: 954 (2026-01-09 13:54:51 +0000 WET) Latest block hash: 4c35abea4dc7ba2c8aa0cb1d2b431796fcd9c57e9de1506b0c06bee85fc1a99b Latest epoch: 31 Is validator: false Registration: false ==== ParaTimes ==== unknown (8000000000000000000000000000000000000000000000000000000000000000): Kind: compute Is confidential: false Status: waiting for hosted runtime provision Latest round: 1 (2026-01-09 13:47:36 +0000 WET) Last finalized round: 1 Storage status: syncing rounds Available version(s): 0.1.0 Number of peers: 0 ``` </details> <details> <summary>oasis network entities</summary> ```bash= { "v": 2, "id": "JTUtHd4XYQjh//e6eYU7Pa/XMFG88WE+jixvceIfWrk=", "nodes": [ "LQu4ZtFg8OJ0MC4M4QMeUR7Is6Xt4A/CW+PK/7TPiH0=", "UtP9DV7xdsZGCpS1z9A/uGQXWZqBqBqoMeKZKehvh1M=" ] } { "v": 2, "id": "TqUyj5Q+9vZtqu10yw6Zw7HEX3Ywe0JQA9vHyzY47TU=" } ``` </details> <details> <summary>oasis network show native-token</summary> ```bash= Network: localnet Token's ticker symbol: TEST Token's base-10 exponent: 6 Total supply: 2001000000.0 TEST Common pool: 0.0 TEST Last block fees: 0.0 TEST Governance deposits: 0.0 TEST Debonding interval: 1 epoch(s) === STAKING THRESHOLDS === entity: 0.0 TEST node-validator: 0.0 TEST node-compute: 0.0 TEST node-keymanager: 0.0 TEST runtime-compute: 0.0 TEST runtime-keymanager: 0.0 TEST ``` </details> <details> <summary>oasis network show nodes</summary> ```bash= { "v": 3, "id": "LQu4ZtFg8OJ0MC4M4QMeUR7Is6Xt4A/CW+PK/7TPiH0=", "entity_id": "JTUtHd4XYQjh//e6eYU7Pa/XMFG88WE+jixvceIfWrk=", "expiration": 37, "tls": { "pub_key": "gH8PRm6WdOAraT21sYPlhDMfpCfw3RJmXCICr/rRzwU=" }, "p2p": { "id": "3NaiXoRM24g/ICmKIG3/UO0OQxe+2irGUZ7rWh8J+TA=", "addresses": [ "127.0.0.1:20003", "192.168.1.81:20003" ] }, "consensus": { "id": "KFkcmGExdwYJdrgnD20wbnARG67koHQZk5XHSImGN6Q=", "addresses": [ "3NaiXoRM24g/ICmKIG3/UO0OQxe+2irGUZ7rWh8J+TA=@127.0.0.1:20002" ] }, "vrf": { "id": "Srdsmd8tFNvWoHwY2enMq2RNoECBwTktMwa2ecDGyi4=" }, "runtimes": null, "roles": "validator", "software_version": "25.6" } ``` </details> <details> <summary>oasis network show $RUNTIME_NODE_ID</summary> ```bash= Error: id 'UtP9DV7xdsZGCpS1z9A/uGQXWZqBqBqoMeKZKehvh1M=' not found ``` </details> <details> <summary>cat compute-0/node.log | grep err</summary> ```= ... level=error ts=2026-01-09T13:59:36.894339619Z caller=grpc.go:203 module=grpc/internal msg="request failed" method=/oasis-core.Registry/GetEntity req_seq=40 err="rpc error: code = Unknown desc = registry: no such entity" level=error ts=2026-01-09T13:59:36.894657229Z caller=grpc.go:203 module=grpc/internal msg="request failed" method=/oasis-core.Registry/GetNodeStatus req_seq=41 err="rpc error: code = Unknown desc = registry: no such node" level=info ts=2026-01-09T13:59:36.897002528Z caller=component.go:34 module=grpc msg="[transport] [server-transport 0xc0083c9380] loopyWriter exiting with error: transport closed by client\n" level=warn ts=2026-01-09T13:59:42.518978976Z caller=node.go:453 module=worker/common/committee runtime_id=8000000000000000000000000000000000000000000000000000000000000000 msg="failed to activate runtime version(s)" err="runtime/host/multi: no active version" version=null next_version=null level=error ts=2026-01-09T13:59:44.484155571Z caller=notifier_light.go:168 module=runtime/notifier/light_blocks runtime_id=8000000000000000000000000000000000000000000000000000000000000000 msg="failed to notify runtime of a new consensus layer block" err="context deadline exceeded" height=1222 ... ``` </details> <details> <summary>cat validator-0/node.log | grep err</summary> ```= ... level=error ts=2026-01-09T13:46:34.849242842Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:46:49.620457985Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:47:06.417619771Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:47:37.838071438Z caller=shuffle.go:411 module=consensus/cometbft/abci mode="begin block" msg="committee size exceeds available nodes" kind=executor runtime_id=8000000000000000000000000000000000000000000000000000000000000000 wanted_nodes=1 nr_nodes=0 level=error ts=2026-01-09T13:47:37.897740467Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:48:09.382272841Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:48:40.862469817Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:48:57.023240275Z caller=switch.go:338 module= module=cometbft:p2p msg="Stopping peer for error" peer="Peer{MConn{127.0.0.1:41308} 3591dcf2dcc06060f6b985b999de289041da4070 in}" err=EOF level=error ts=2026-01-09T13:49:12.332925605Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" level=error ts=2026-01-09T13:49:43.81272498Z caller=worker.go:984 module=worker/registration msg="failed to obtain any consensus address from the configured sentry nodes" sentry_addresses="unsupported value type" ... ``` </details> <details> <summary>oasis-node registry runtime list --verbose --include_suspended -a $ADDR</summary> ```= Command "list" is deprecated, use the `oasis` CLI instead. level=error ts=2026-01-09T14:06:03.60415839Z caller=grpc.go:243 module=grpc/client msg="request failed" method=/oasis-core.Registry/GetRuntimes req_seq=1 rsp="unsupported value type" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing: dial unix internal.sock: connect: no such file or directory\"" level=error ts=2026-01-09T14:06:03.60419136Z caller=runtime.go:131 module=cmd/registry/runtime msg="failed to query runtimes" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing: dial unix internal.sock: connect: no such file or directory\"" ``` </details>