No description
Find a file
Virgil c03b3410e6
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m29s
refactor(node): remove legacy compatibility aliases
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 21:27:45 +00:00
.core chore: add .core/ build and release configs 2026-03-06 18:52:37 +00:00
.forgejo/workflows ci: add Forgejo Actions test and security scan workflows 2026-02-23 03:28:08 +00:00
.idea chore: migrate Snider deps from github.com to forge.lthn.ai 2026-02-22 21:42:39 +00:00
docs refactor(repo): prefer AX error names 2026-03-30 19:44:05 +00:00
KB@4dcd7ea9fe test: add UEPS wire protocol tests (Phase 1) — 0% to 88.5% coverage 2026-02-19 23:44:09 +00:00
logging refactor(node): remove legacy compatibility aliases 2026-03-30 21:27:45 +00:00
node refactor(node): remove legacy compatibility aliases 2026-03-30 21:27:45 +00:00
specs refactor(repo): prefer AX error names 2026-03-30 19:44:05 +00:00
ueps refactor(repo): complete AX v0.8.0 polish pass 2026-03-26 16:26:18 +00:00
.editorconfig chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:43 +00:00
.gitignore refactor(node): migrate module path to dappco.re/go/core/p2p 2026-03-22 02:06:51 +00:00
.golangci.yml chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:43 +00:00
CLAUDE.md docs(repo): refresh AX compliance guidance 2026-03-27 05:10:20 +00:00
CODEX.md docs(repo): refresh AX compliance guidance 2026-03-27 05:10:20 +00:00
CONTRIBUTING.md chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:43 +00:00
go.mod chore(node): upgrade to core v0.8.0-alpha.1 2026-03-26 14:31:25 +00:00
go.sum refactor(repo): complete AX v0.8.0 polish pass 2026-03-26 16:26:18 +00:00
README.md docs(repo): refresh AX compliance guidance 2026-03-27 05:10:20 +00:00
SESSION-BRIEF.md docs(repo): refresh AX compliance guidance 2026-03-27 05:10:20 +00:00

Go Reference License: EUPL-1.2 Go Version

go-p2p

P2P mesh networking layer for the Lethean network. Provides X25519 node identity, an encrypted WebSocket transport with HMAC-SHA256 challenge-response handshake, KD-tree peer selection across four dimensions (latency, hops, geography, reliability score), UEPS wire protocol (RFC-021) TLV packet builder and reader, UEPS intent routing with a threat circuit breaker, and TIM deployment bundle encryption with Zip Slip and decompression-bomb defences.

Module: dappco.re/go/core/p2p Licence: EUPL-1.2 Language: Go 1.26

Quick Start

import (
    "log"

    "dappco.re/go/core/p2p/node"
    "dappco.re/go/core/p2p/ueps"
)

nm, err := node.NewNodeManager()
if err != nil {
    log.Fatal(err)
}
if !nm.HasIdentity() {
    if err := nm.GenerateIdentity("worker-1", node.RoleWorker); err != nil {
        log.Fatal(err)
    }
}

registry, err := node.NewPeerRegistry()
if err != nil {
    log.Fatal(err)
}

transport := node.NewTransport(nm, registry, node.DefaultTransportConfig())
if err := transport.Start(); err != nil {
    log.Fatal(err)
}

payload := []byte(`{"job":"hashrate"}`)
sharedSecret := make([]byte, 32)
pkt, err := ueps.NewBuilder(node.IntentCompute, payload).MarshalAndSign(sharedSecret)
if err != nil {
    log.Fatal(err)
}
_ = pkt

Documentation

Build & Test

go test ./...
go test -race ./...
go test -short ./...   # skip integration tests
go build ./...

Licence

European Union Public Licence 1.2 — see CONTRIBUTING for details.