Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

kryvora-node

Go Version License Release CI Status Network

Official client daemon for Kryvora Network nodes.

Overview

Kryvora is a decentralized physical infrastructure network designed for distributed verification and worker coordination. The kryvora-node daemon connects worker hardware to the Kryvora Hub, executes telemetry probes, verifies peer state, and reports proof of availability.

System Topology

+-------------------------------------------------------------+
|                     Kryvora Node Host                       |
|                                                             |
|  +--------------------+             +--------------------+  |
|  |   Worker Engine    |             |  Telemetry Daemon  |  |
|  |  (Task Execution)  |<----------->|    (Port 4177)     |  |
|  +---------+----------+   IPC/Bus   +---------+----------+  |
|            |                                  |             |
|            | Unix Socket (/var/run/node.sock) | HTTP API    |
|            v                                  v             |
|  +-------------------------------------------------------+  |
|  |                 Kryvora Storage Store                 |  |
|  |            (State, Peer Nonces, Telemetry)            |  |
|  +-------------------------------------------------------+  |
+------------------------------+------------------------------+
                               |
                   Mutual TLS  |  Heartbeat (30s)
                   gRPC / HTTP |  Verification Probes
                               v
+-------------------------------------------------------------+
|                 Kryvora Coordination Hub                    |
|                        (Port 4188)                          |
+-------------------------------------------------------------+

Node Licensing & Genesis Key Requirement

Operating a Kryvora verification node requires an active Genesis Node Key. The Genesis Node Key is an on-chain soulbound verification credential deployed on Arbitrum One:

Before launching the daemon, obtain your node bootstrap token by connecting your wallet at node.kryvora.network. Unauthenticated nodes without a valid bootstrap token will be rejected by the Coordination Hub (hub.kryvora.network:4188).

System Requirements

Hardware specs for running a standard verification worker:

  • CPU: 2 cores minimum (x86_64 or arm64)
  • Memory: 2 GB RAM minimum, 4 GB recommended
  • Storage: 20 GB available SSD storage
  • Network: Stable broadband connection with inbound port 4177 open for local telemetry probes

Quick Start

Option 1: Automated Script (Linux systemd)

Run the installation script to fetch the binary and register the systemd service:

curl -sSL https://raw.githubusercontent.com/kryvora-network/kryvora-node/main/install.sh | bash

The script will prompt for your Genesis Node Key bootstrap token and register the systemd service.

Check service status:

sudo systemctl status kryvora-node

Option 2: Docker Compose

  1. Clone the repository:
git clone https://github.com/kryvora-network/kryvora-node.git
cd kryvora-node
  1. Copy the configuration template and set your token:
cp config.example.yaml config.yaml
# Edit config.yaml and insert your bootstrap_token under auth:
# Or set KRYVORA_BOOTSTRAP_TOKEN in your environment
  1. Start the node container:
KRYVORA_BOOTSTRAP_TOKEN="your_token_here" docker compose up -d
  1. Verify logs:
docker compose logs -f kryvora-node

Option 3: Build from Source

Requirements: Go 1.22 or higher.

git clone https://github.com/kryvora-network/kryvora-node.git
cd kryvora-node
make build
./bin/kryvora-node --config config.yaml --token "your_token_here"

Configuration

Configuration is loaded from config.yaml or set via environment variables.

KeyTypeDefaultDescription
node.idstringauto-generatedUnique identifier for worker node
node.listen_addrstring0.0.0.0:4177Local address for telemetry and metrics
node.data_dirstring/var/lib/kryvoraLocal state and task database directory
auth.bootstrap_tokenstring""Mandatory: Genesis Node Key activation token
hub.endpointstringhttps://hub.kryvora.network:4188Upstream coordination hub address
hub.heartbeat_intervalint30Interval in seconds between hub pings
telemetry.enabledbooltrueExpose Prometheus metrics on /metrics

Local Endpoints

When running, the daemon exposes the following endpoints on port 4177:

  • GET /health: JSON response indicating daemon lifecycle status
  • GET /status: Peer connectivity, current block height, and sync state
  • GET /metrics: Prometheus-compatible telemetry counters

Example query:

curl -s http://127.0.0.1:4177/status

Security

Please report vulnerabilities directly to security@kryvora.network rather than opening public issues.

License

Apache License 2.0. See LICENSE for details.

关于 About

Reference client daemon and verification worker for Kryvora Network nodes.
depindistributed-systemsgolanginfrastructurenode-runnertelemetryworker-daemon

语言 Languages

Go84.2%
Shell12.1%
Dockerfile2.5%
Makefile1.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
21
Total Commits
峰值: 8次/周
Less
More

核心贡献者 Contributors