Commit graph

4911 commits

Author SHA1 Message Date
Snider
6e4d8f7683 Refactor genesis files and update CMake targets
Moved genesis-related generated files and logic from currency_core/generated and genesis_generator to a new src/genesis directory. Updated CMakeLists and include paths to reflect the new structure. Adjusted test and db build scripts to use ZLIB::ZLIB and miniupnpc::miniupnpc targets. Added README with instructions for genesis block updates. Removed premine wallet generation logic from config CMakeLists.
2025-09-29 20:21:33 +01:00
Snider
6a7b6dd2df Refactor config system and move currency_config.h
Moved currency_config.h and related CMake/config files to a new src/config directory, creating a dedicated config CMake target. Updated all includes and build scripts to reference the new config location. Removed obsolete cmake/ChainConfig.cmake and example currency config, and restructured genesis generator and premine wallet logic into the new config system for improved modularity and maintainability.
2025-09-29 19:04:52 +01:00
Snider
c001204629 Update LICENSE.txt 2025-09-28 20:00:04 +01:00
Snider
fa721d1837 Remove Windows ARM64 build workflow
Deleted the build-windows-arm64.yml workflow and its invocation from _on-push.yml. This removes support for building on Windows ARM64, possibly due to deprecation or lack of necessity.
2025-09-28 19:23:40 +01:00
Snider
76d33a74b1 Add ARM64 build workflows and refactor CI for multi-arch
Introduced separate build workflows for Linux and Windows ARM64 architectures. Renamed existing Intel build workflows for clarity and updated the main workflow to trigger both Intel and ARM64 builds for Linux and Windows. Improved caching by including architecture in cache keys and set CPU_CORES for release builds across all platforms.
2025-09-28 18:34:57 +01:00
Snider
ef016f50fb Add SDK folder caching to build workflows
Introduces actions/cache to cache the build/sdk folder in Linux, macOS (Intel and ARM64), and Windows GitHub Actions workflows. Disables Conan's internal package caching in favor of the new cache step to improve build performance and consistency.
2025-09-28 17:49:17 +01:00
Snider
4ed552d332 Update CMake configs and improve packaging messages
Changed release build flags in CMakeLists.txt to suppress all warnings with '-w'. Updated CPackConfig.cmake to use 'message(STATUS ...)' for clearer status output and improved consistency. Removed unused COMPONENT argument from documentation install step in DocBuilder.cmake.
2025-09-28 17:33:37 +01:00
Snider
261b300f4f Refactor artifact upload in build workflows
Replaces multiple uses of actions/upload-artifact with a single custom upload-artifacts action in Linux, macOS, and Windows build workflows. This change simplifies artifact handling and standardizes the upload process across platforms.
2025-09-28 16:48:25 +01:00
Snider
36c38ab9c8 Update build system and version to 6.0.0
Refactored GitHub Actions workflows to upload specific package formats for each platform and standardized the release build process. Updated CMake and Makefile to support a configurable build version, now set to 6.0.0. Adjusted config and version headers to reflect the new versioning scheme and improved package configuration.
2025-09-28 16:33:18 +01:00
Snider
9412c22166 Add CPack packaging and update build system
Introduces CPack-based packaging with a new CPackConfig.cmake and related configuration variables. Updates Makefile and CMakeLists.txt to support packaging, renames project to Lethean, and adjusts workflow files to use unified 'release' build and artifact upload. Also adds install rules for main binaries and comments out install steps in libmdbx submodules.
2025-09-28 14:35:11 +01:00
Snider
7d7cfb7a5b Simplify Docker build workflow and update dependencies
Refactored the GitHub Actions workflow to remove the build matrix and multi-arch manifest steps, consolidating the build into a single job targeting a specific build target. Updated the Dockerfile to add python-is-python3 and python3-dev to dependencies for improved Python compatibility.
2025-09-27 23:10:43 +01:00
Snider
3ad2df6f9f Update Dockerfile 2025-09-27 22:16:03 +01:00
Snider
73131d0053 Add QEMU setup to Docker workflow and update Dockerfile deps
Introduces the docker/setup-qemu-action step in the GitHub Actions workflow to support multi-architecture builds. Also updates the lthn-chain Dockerfile to include autotools-dev and checkinstall in the build dependencies.
2025-09-27 22:12:29 +01:00
Snider
a6886700ae Update build-docker.yml 2025-09-27 21:39:06 +01:00
Snider
bde5bb44c3 Update build-docker.yml 2025-09-27 21:38:01 +01:00
Snider
4506fb88f1 Update _on-push.yml 2025-09-27 21:36:42 +01:00
Snider
66a7b597f4 Add multi-arch Docker build support and Makefile targets
This update enhances the Docker build workflow to support multiple architectures (amd64, arm64, armv7, ppc64le, riscv64, s390x) using buildx and matrix builds in GitHub Actions. The Makefile now includes new targets for building and exporting artifacts for each supported architecture. The Dockerfile is updated to allow conditional use of custom Conan profiles via a new USE_CUSTOM_PROFILE build argument.
2025-09-27 21:34:30 +01:00
Snider
dea8becdd9 Update Docker build args and testnet symlink logic
Adds build arguments to the Docker build workflow for testnet, threads, build target, and local build. Updates the Dockerfile to use the 'dev' branch by default and improves the testnet symlink creation logic to use sed for string replacement.
2025-09-27 18:15:08 +01:00
Snider
1ed048d962 Update Dockerfile build target to gcc-linux-x86_64
Changed the BUILD_TARGET argument in the lthn-chain Dockerfile from gcc-linux-armv8 to gcc-linux-x86_64 to target x86_64 architecture builds.
2025-09-27 17:57:54 +01:00
Snider
7cadbf139e Update build-docker.yml 2025-09-27 17:53:02 +01:00
Snider
91e6904c7d Update build-docker.yml 2025-09-27 17:42:23 +01:00
Snider
5a5e82974f Update build-docker.yml 2025-09-27 17:37:47 +01:00
Snider
67ad7705ee Update build-docker.yml 2025-09-27 17:35:08 +01:00
Snider
56518a6f96 Update build-docker.yml 2025-09-27 17:33:39 +01:00
Snider
3108260ec9 Update build-docker.yml 2025-09-27 17:32:21 +01:00
Snider
18c93466f2 Update Docker and Docs GitHub workflows
Bump docker/build-push-action to v6 and update file/context in build-docker.yml. Add job name 'Offline Local Version' to build-docs.yml for clarity.
2025-09-27 17:31:22 +01:00
Snider
6d9792ed3f Update Docker build workflow with dynamic job name
Adds a dynamic job name based on the chain network input and updates Docker build context and file paths to use absolute paths. This improves clarity in workflow runs and ensures correct Dockerfile resolution.
2025-09-27 17:23:28 +01:00
Snider
2783a7c339 Add DockerHub secrets to build-docker workflow
The build-docker workflow now requires DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets, which are inherited in the _on-push workflow. This ensures DockerHub credentials are available for Docker-related actions.
2025-09-27 17:20:29 +01:00
Snider
f5cd385fb3 Add Docker build workflow and update push workflow
Introduces a new build-docker.yml GitHub Actions workflow for building and pushing Docker images. Updates the _on-push.yml workflow to include the Docker build job and renames job names for consistency.
2025-09-27 17:14:12 +01:00
Snider
80595a676d Merge branch 'dev-configure-testnet-1' of https://github.com/letheanVPN/blockchain into dev-configure-testnet-1 2025-09-27 16:40:23 +01:00
Snider
3307bb09ac Update docs 2025-09-27 16:40:10 +01:00
Y-o-D
2bea40337b
Corrected the value "Lethean wallet address ... for integrated address" (#18) 2025-09-27 16:26:52 +01:00
Snider
10bdc49525 Add docker build target for lthn-chain node
Introduces a new Makefile target 'docker-chain-node' to build the lthn/chain Docker image. Updates the lthn-chain Dockerfile with improved comments, sets BUILD_TESTNET=1 by default, and clarifies multi-stage build targets. Also updates the docs submodule reference.
2025-09-27 16:13:21 +01:00
Snider
4dfda9a1c7 Update build-windows.yml
removing the gha for msvc-193 due to breaking changes GHA dosnt have it, but users could have that installed so the profile is valid
2025-09-27 13:11:24 +01:00
Snider
dc6127eca5 Update build-windows.yml 2025-09-27 13:05:20 +01:00
Snider
ba4b5f4eca testing msvc-193 2025-09-27 13:04:23 +01:00
Snider
e8e2118784 Make build type configurable in Makefile
Added BUILD_TYPE variable to allow specifying build type (e.g., Release, Debug) for all build targets. Updated Conan and CMake commands to use the configurable build type. Cleaned up apple-clang profile files by removing unnecessary user_presets configuration.
2025-09-27 12:40:54 +01:00
Snider
4931245348 Update Dockerfile and remove Crowdin config
Deleted the crowdin.yml configuration file and updated the lthn-chain Dockerfile. The Dockerfile now sets NO_COLOR=1 to disable color escape characters, adds logic to symlink testnet binaries to mainnet names for consistency, and re-enables the chain-service stage using mainnet binary names.
2025-09-27 12:40:18 +01:00
Snider
938c473c88 Update build targets and artifact paths for consistency
Standardized build target names and artifact directory paths across Linux, macOS (Intel and ARM), and Windows GitHub Actions workflows. Updated Dockerfile to use 'gcc-linux-armv8' as the build target and added 'bison' to dependencies for improved build environment consistency.
2025-09-27 02:10:51 +01:00
Snider
2781c7c9b7 Refactor build profiles and remove legacy build scripts
Renamed and updated CMake build profiles for consistency across platforms, added a new gcc-linux-armv8 profile, and removed legacy build scripts and utilities from the utils directory. Introduced Docker build context and documentation for containerized builds. Updated docs submodule reference.
2025-09-27 01:22:15 +01:00
Snider
13743a6eef Replace Zano branding with Lethean throughout codebase
Updated various strings, documentation, and identifiers to replace 'Zano' with 'Lethean' or 'LTHN' across the codebase, including user-facing messages, documentation comments, filenames, and Android package names. This change supports the rebranding effort and ensures consistency in references to the project.
2025-09-26 22:02:21 +01:00
Snider
ec1f5bfdf8 Add Conan dependency provider CMake module
Introduces cmake/conan_provider.cmake, a comprehensive CMake module for integrating Conan as a dependency provider. This module automates Conan profile detection, compiler and platform settings, and manages Conan installation and dependency resolution during CMake configuration.
2025-09-26 18:49:34 +01:00
Snider
8914c6c0fb Update address prefix values in config-vars.cmake
wallet prefix conventions:
prefix is 'iT', non auditable wallets then use 'H', auditable wallets use 'h'; 'N' is a base addr, 'n' is a sub address,
2025-09-26 12:19:51 +01:00
Snider
aa457a7bb2 Update ChainConfig.cmake 2025-09-26 12:09:57 +01:00
Snider
3365bddaba Update config-vars.cmake
0x73f7 - 'iT'
0x6af7 - integrated 'iTH'
0xdeaf7 - auditable addresses 'iTHn'
0x7eaf7 -  auditable integrated 'iTHa'
2025-09-26 12:09:54 +01:00
Snider
e3e588846f Fix error message grammar in ChainConfig.cmake
Corrected the grammar of the fatal error message when both premine wallet and fresh genesis generation are enabled.
2025-09-25 21:30:09 +01:00
Snider
ba059f76d4 Rename binaries to lethean-* and update workflows
Changed output binary names in CMakeLists.txt from zanod/simplewallet to lethean-* variants, with testnet-specific names when applicable. Updated GitHub Actions workflows to upload lethean-* artifacts instead of the previous explicit binary names.
2025-09-25 21:22:15 +01:00
Snider
542095a6a5 Update config for Lethean rebranding and remove Zano data
Rebranded configuration files and copyright/license headers for Lethean, replacing Zano references. Updated CMake config variables for Lethean, added new address prefixes, and removed hardcoded Zano pre-download data. Commented out hardcoded seed nodes in p2p/net_node.inl. Updated docs submodule pointer.
2025-09-25 21:01:14 +01:00
Snider
e3910d8a59 Refactor config variable checks into macro
Replaces repetitive individual variable checks with a macro to streamline and simplify the process of verifying required configuration variables in CMake.
2025-09-25 18:28:10 +01:00
Snider
06e7780df5 updates licence
adds this to the bottom of whats there:
// Copyright (c) 2017-2025 Lethean (https://lt.hn)
//
// Licensed under the European Union Public Licence (EUPL) version 1.2.
// You may obtain a copy of the licence at:
//
//     https://joinup.ec.europa.eu/software/page/eupl/licence-eupl
//
// The EUPL is a copyleft licence that is compatible with the MIT/X11
// licence used by the original projects; the MIT terms are therefore
// considered “grandfathered” under the EUPL for this code.
//
// SPDX‑License‑Identifier: EUPL-1.2
//
2025-09-25 18:18:41 +01:00