Secure. Scalable. Easy to Use
Find a file
Claude 467c64d015
feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis
Replace ProgPowZ with RandomX for ASIC-resistant proof-of-work. The
full dataset is initialized multi-threaded at startup with the key
"LetheanRandomXv1". Thread-local VMs are created on demand.

Switch difficulty algorithm from Zano's 720-block window to LWMA-1
(zawy12) with a 60-block window for much faster convergence after
hashrate changes. Target block time set to 10s for PoW.

Add standard stratum mining.* protocol handlers (subscribe, authorize,
submit, extranonce.subscribe) alongside existing EthProxy eth_*
handlers, with automatic protocol detection and mining.notify
translation for XMRig-based miners.

Generate fresh Lethean genesis block and premine wallet. Replace all
remaining hardcoded Zano addresses in tests with runtime-generated
keys to avoid prefix mismatches. Link RandomX library across all
build targets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:22:25 +00:00
.core Rebrand to SASE, restore cmake test fixture 2026-02-06 03:56:41 +00:00
.github New API Interface (#27) 2025-10-19 19:12:37 +01:00
.idea New API Interface (#27) 2025-10-19 19:12:37 +01:00
cmake Restore project-specific cmake/test-static-assert.c 2026-02-06 03:27:11 +00:00
contrib feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
docs@e40a78d502 New API Interface (#27) 2025-10-19 19:12:37 +01:00
genesis-work feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
src feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
tests feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
utils New API Interface (#27) 2025-10-19 19:12:37 +01:00
.clang-format disabled aliases registration fee checks for testnet 2022-12-16 15:38:49 +01:00
.dockerignore Testnet 1 (#15) 2025-09-30 16:48:13 +01:00
.gitattributes New API Interface (#27) 2025-10-19 19:12:37 +01:00
.gitignore New API Interface (#27) 2025-10-19 19:12:37 +01:00
.gitmodules Replace cmake/ with host-uk/build submodule at .core/build 2026-02-06 01:57:40 +00:00
AGENTS.md New API Interface (#27) 2025-10-19 19:12:37 +01:00
CMakeLists.txt Replace cmake/ with host-uk/build submodule at .core/build 2026-02-06 01:57:40 +00:00
CMakePresets.json Replace cmake/ with host-uk/build submodule at .core/build 2026-02-06 01:57:40 +00:00
conanfile.py New API Interface (#27) 2025-10-19 19:12:37 +01:00
ConanPresets.json feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
docker-compose.yml New API Interface (#27) 2025-10-19 19:12:37 +01:00
LICENSE.txt Testnet 1 (#15) 2025-09-30 16:48:13 +01:00
Makefile feat: RandomX PoW, LWMA difficulty, stratum mining.* protocol, new genesis 2026-02-06 13:22:25 +00:00
README.md New API Interface (#27) 2025-10-19 19:12:37 +01:00

Lethean Network—Ethics, Encoded.

We are building upto a mainnet launch in 2026, documentation written as if mainnet is live.

A buildkit for deploying confidential information networks and commerce systems with immutable auditability.

Free for commercial, private, and patent use, self-host or join the community-run network that guarantees participant sovereignty by design.

Discord

Web2 Website: https://lt.hn/

Web3 Network Gateway HNS: https://lthn
(our chain aliases will come with a working Web2(*.lt.hn)+Web3(*.lthn) domain name)

Dependencies

component / version minimum
(not recommended but may work)
recommended most recent of what we have ever tested
gcc (Linux) 8.4.0 9.4.0 12.3.0
llvm/clang (Linux) UNKNOWN 7.0.1 8.0.0
MSVC (Windows) 2017 (15.9.30) 2022 (17.11.5) 2022 (17.12.3)
XCode (macOS) 12.3 14.3 15.2
CMake 3.26.3 3.26.3 3.31.6

Cloning

Be sure to clone the repository properly, with --recursive flag, or you'll get angry:
git clone --recursive https://github.com/letheanVPN/blockchain.git

Building

The project uses a Makefile that provides a simple and powerful interface for building. It automatically handles dependency installation with Conan and compilation with CMake.

You need CMake and Make installed on your system, other than that you don't need to worry about Python, Conan, Boost, OpenSSL, or any other dependencies.

The final packages are created as they are due to a historical distribution method used in china: USB Stick, CD, DVD, etc.

We use CPack, so our packages are self-contained, have searchable HTML documentation, and are ready to be installed on any system.

To skip the packing step, use make build as defined in the section below for Advanced Build Customization

For most use cases, these two commands are all you need. They handle the entire build process from start to finish.

  • Build for Mainnet:

    make mainnet
    
  • Build for Testnet:

    make testnet
    

Creating Release Packages

To create distributable packages (e.g., .zip, .msi, .pkg, .deb), run the release target. This will build the project, build the documentation, and then package everything.

make release TESTNET=1

The final packages will be located in the build/packages/ directory

Advanced Build Customization (Makefile Variables)

For advanced use cases, you can override variables in the Makefile to customize the build process.

  • Build a testnet version:
    make build TESTNET=1
    
  • Build a statically-linked version:
    make build STATIC=1
    
  • Build a Debug build with 8 compile threads:
    make build BUILD_TYPE=Debug CPU_CORES=8
    
  • Use custom CMakePresets:
    make build PRESET_CONFIGURE=my-config-preset PRESET_BUILD=my-build-preset
    
Variable Description Default Value
BUILD_TYPE Sets the build configuration (e.g., Release, Debug). Release
TESTNET Set to 1 to build for the test network. 0
STATIC Set to 1 to link libraries statically. 0
CPU_CORES Number of CPU cores to use for parallel compilation. Auto-detected
BUILD_VERSION The version string to embed in the binaries. 6.0.1
BUILD_FOLDER The output directory for the build. build/release
PRESET_CONFIGURE The CMake preset to use for the configure step. conan-release
PRESET_BUILD The CMake preset to use for the build step. conan-release
CONAN_CACHE The path for the local Conan cache, where the dependencies are stored. ./build/sdk
CONAN_EXECUTABLE The path to the usable Conan executable. ./build/bin/conan
CONAN_URL The URL for the Conan remote repository. artifacts.host.uk.com
CONAN_USER The username for the Conan remote. public
CONAN_PASSWORD The password for the Conan remote.

Cleaning the Build Directory

ALWAYS USE make clean to clean the build directory, manually deleting the build/release, build/SOME_FOLDER will cause you issues.

Our make clean triggers a cmake script that completely resets the build directory & dynamically added CMakePresets to its cached warm-up state,
the selective clean script can be edited here: cmake/CleanBuild.cmake or directly run from the repo root cmake -P cmake/CleanBuild.cmake

You can NUKE the build directory with make clean-build which is rm -rf build.

If you do manually delete build folders and get CMake errors (if you have compiled anything previously, you will), the ConanPresets.json file has entries in the include property, delete them all and try again.

This happens because CMakePresets.json includes ConanPresets.json, that has the list of toolchains to use that gets populated during the CMake config step, when you manually delete a folder, the toolchain is now a broken path, and CMake throws a fatal error.