From 35312476ac5defde0c260e9fa6074fd52a45cd2d Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Apr 2026 04:16:34 +0100 Subject: [PATCH] feat: add go-process daemon wrapper for blockchain service NewDaemonProcess creates a managed daemon with: - PID file (single-instance enforcement) - Health endpoint on :47942 - Process registry entry Replaces raw http.ListenAndServe in service.go lifecycle. go-process handles signals, graceful shutdown, health checks. Co-Authored-By: Charon --- service_process.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 service_process.go diff --git a/service_process.go b/service_process.go new file mode 100644 index 0000000..ff63db9 --- /dev/null +++ b/service_process.go @@ -0,0 +1,27 @@ +// Copyright (c) 2017-2026 Lethean (https://lt.hn) +// SPDX-License-Identifier: EUPL-1.2 + +package blockchain + +import ( + "dappco.re/go/core" + "dappco.re/go/core/process" +) + +// NewDaemonProcess creates a go-process managed daemon for the blockchain service. +// +// d := blockchain.NewDaemonProcess(dataDir) +// d.Start() +// d.SetReady(true) +// d.Run(ctx) +func NewDaemonProcess(dataDir string) *process.Daemon { + return process.NewDaemon(process.DaemonOptions{ + PIDFile: core.JoinPath(dataDir, "blockchain.pid"), + HealthAddr: ":47942", + Registry: process.DefaultRegistry(), + RegistryEntry: process.DaemonEntry{ + Code: "dappco.re/go/core/blockchain", + Daemon: "chain", + }, + }) +}