No description
Find a file
Claude 6ea3ed454e
Some checks failed
Security Scan / security (push) Successful in 12s
Test / Test (push) Has been cancelled
fix(daemon): add parseParams helper for 27 unchecked json.Unmarshal
All 27 json.Unmarshal(req.Params, &params) calls replaced with
parseParams() which handles nil and logs errors. Prevents silent
zero-value params on malformed input.

Co-Authored-By: Charon <charon@lethean.io>
2026-04-02 04:00:27 +01:00
.core feat(build): add .core/build.yaml for go-build integration 2026-04-02 03:08:56 +01:00
.forgejo/workflows ci: add Forgejo Actions test and security scan workflows 2026-02-23 03:28:02 +00:00
chain test: add tests for service, dns, forge, alias, blockdata (6 files) 2026-04-02 03:54:45 +01:00
cmd/core-chain feat(asset): add RPC client + CLI for confidential assets (HF5) 2026-04-02 00:59:18 +01:00
config test: close audit gaps — HSD client, config, genesis, daemon tests 2026-04-02 03:18:36 +01:00
consensus fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
crypto feat: complete all 10 RFC request items 2026-04-02 01:48:31 +01:00
daemon fix(daemon): add parseParams helper for 27 unchecked json.Unmarshal 2026-04-02 04:00:27 +01:00
difficulty fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
docs refactor: migrate module path to dappco.re/go/core/blockchain 2026-03-22 01:49:26 +00:00
hsd test: close audit gaps — HSD client, config, genesis, daemon tests 2026-04-02 03:18:36 +01:00
locales/en feat(i18n): add English locale for all blockchain commands 2026-04-02 03:11:37 +01:00
mining fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
p2p feat(p2p): add missing response encoders for P2P listener 2026-04-02 00:42:30 +01:00
rpc feat(asset): add RPC client + CLI for confidential assets (HF5) 2026-04-02 00:59:18 +01:00
testdata feat(consensus): V2 Zarcanum signature and proof verification 2026-02-22 00:06:10 +00:00
tui fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
types fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
wallet test: wallet proxy, chain scanner tests 2026-04-02 03:55:07 +01:00
wire feat(blockchain): full testnet sync, RPC daemon, wallet CLI, alias extraction 2026-04-02 00:33:12 +01:00
.gitignore feat(blockchain): full testnet sync, RPC daemon, wallet CLI, alias extraction 2026-04-02 00:33:12 +01:00
CLAUDE.md refactor: migrate module path to dappco.re/go/core/blockchain 2026-03-22 01:49:26 +00:00
cmd_deploy_itns.go refactor: extract 33 magic numbers to named constants 2026-04-02 03:58:59 +01:00
cmd_explorer.go fix(blockchain): upgrade to core v0.8.0-alpha.1 + replace banned imports 2026-03-26 14:10:18 +00:00
cmd_serve.go feat(serve): wire wallet proxy via --wallet-rpc flag 2026-04-02 02:02:35 +01:00
cmd_status.go feat: chain status command + wallet info + core/api SSE tracking 2026-04-02 03:04:05 +01:00
cmd_sync.go refactor(logging): migrate commands to core.Print(nil, ...) 2026-04-02 01:18:37 +01:00
cmd_wallet.go fix: type mismatch float64*uint64 in wallet transfer 2026-04-02 03:59:55 +01:00
commands.go feat: chain status command + wallet info + core/api SSE tracking 2026-04-02 03:04:05 +01:00
commands_test.go fix(blockchain): complete AX v0.8.0 polish pass 2026-03-26 16:58:23 +00:00
constants.go refactor: extract 33 magic numbers to named constants 2026-04-02 03:58:59 +01:00
dns.go feat: complete all 10 RFC request items 2026-04-02 01:48:31 +01:00
dns_test.go test: add tests for service, dns, forge, alias, blockdata (6 files) 2026-04-02 03:54:45 +01:00
entitlement.go feat: complete all 10 RFC request items 2026-04-02 01:48:31 +01:00
entitlement_test.go test: entitlement stubs, sync task progress, middleware 2026-04-02 03:21:46 +01:00
forge.go feat: forge integration actions + RPC endpoint 2026-04-02 03:11:02 +01:00
forge_test.go test: add tests for service, dns, forge, alias, blockdata (6 files) 2026-04-02 03:54:45 +01:00
go.mod fix(blockchain): upgrade to core v0.8.0-alpha.1 + replace banned imports 2026-03-26 14:10:18 +00:00
go.sum fix(blockchain): upgrade to core v0.8.0-alpha.1 + replace banned imports 2026-03-26 14:10:18 +00:00
README.md refactor: migrate module path to dappco.re/go/core/blockchain 2026-03-22 01:49:26 +00:00
service.go refactor: extract 33 magic numbers to named constants 2026-04-02 03:58:59 +01:00
service_test.go test: add tests for service, dns, forge, alias, blockdata (6 files) 2026-04-02 03:54:45 +01:00
sync_service.go refactor(logging): migrate commands to core.Print(nil, ...) 2026-04-02 01:18:37 +01:00
variant.go feat(wallet): add transfer command, build tags for CoreIDE 2026-04-02 01:22:19 +01:00

go-blockchain

Pure Go implementation of the Lethean blockchain protocol. Provides chain configuration, core cryptographic data types, CryptoNote wire serialisation, and LWMA difficulty adjustment for the Lethean CryptoNote/Zano-fork chain. Follows ADR-001: protocol logic in Go, cryptographic primitives deferred to a C++ bridge in later phases. Lineage: CryptoNote to IntenseCoin (2017) to Lethean to Zano rebase.

Module: dappco.re/go/core/blockchain Licence: EUPL-1.2 Language: Go 1.25

Quick Start

import (
    "dappco.re/go/core/blockchain/config"
    "dappco.re/go/core/blockchain/types"
    "dappco.re/go/core/blockchain/wire"
    "dappco.re/go/core/blockchain/difficulty"
)

// Query the active hardfork version at a given block height
version := config.VersionAtHeight(config.MainnetForks, 10081) // returns HF2

// Check if a specific hardfork is active
active := config.IsHardForkActive(config.MainnetForks, config.HF4Zarcanum, 50000) // false

// Encode and decode a Lethean address
addr := &types.Address{SpendPublicKey: spendKey, ViewPublicKey: viewKey}
encoded := addr.Encode(config.AddressPrefix)
decoded, prefix, err := types.DecodeAddress(encoded)

// Varint encoding for the wire protocol
buf := wire.EncodeVarint(0x1eaf7)
val, n, err := wire.DecodeVarint(buf)

// Calculate next block difficulty
nextDiff := difficulty.NextDifficulty(timestamps, cumulativeDiffs, 120)

Documentation

Build & Test

go test ./...
go test -race ./...
go vet ./...
go build ./...

Licence

European Union Public Licence 1.2 -- see LICENCE for details.