|
| 1 | +--- |
| 2 | +date: 2025-10-09 |
| 3 | +authors: |
| 4 | + - snider |
| 5 | +categories: |
| 6 | + - Development |
| 7 | +tags: |
| 8 | + - CryptoNote |
| 9 | + - testnet |
| 10 | +description: > |
| 11 | + Build system improvements, new chain features and a new API in development |
| 12 | +title: Development Update |
| 13 | +--- |
| 14 | + |
| 15 | +# Testnet & Development Update |
| 16 | + |
| 17 | +With the closure of the old chain, its network difficulty dropped to a point a single thread can mine it. The SWAP height is: `2,040,903` |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +This post covers what's next as the Lethean community starts our new chain, and the first feature after recent build stability updates. |
| 22 | + |
| 23 | +<!-- more --> |
| 24 | + |
| 25 | +So, let's get to it. Here's a brief overview of chain alterations already done: |
| 26 | + |
| 27 | +## Build System Improvements |
| 28 | + |
| 29 | +- Full transparent dependency management (`make testnet`, no boost, openssl, QT, nothing) |
| 30 | +- Public compile cache, so your build probably won't need to compile Boost locally, but it can. |
| 31 | +- CMake Presets: preconfigured builds `cmake --workflow mainnet` = `build/bin/BINARY` |
| 32 | +- Offline Documentation (this website) integrated into the final packages. |
| 33 | +- Installers + tarballs automatically made with docs on `make release|testnet|mainnet` |
| 34 | + |
| 35 | +## New Chain Functionality |
| 36 | + |
| 37 | +- CMake Template-powered Chain Configuration |
| 38 | +- Automatic genesis creation, either during the build or via a genesis executable |
| 39 | +- Automatic premine wallet creation |
| 40 | + |
| 41 | +## Next Features |
| 42 | + |
| 43 | +Currently, I'm making a new chain binary, `lethean-api`, with an HTTP C++ framework so it can handle production traffic and supply a modern interface to our chain, |
| 44 | +including OpenAPI + SDKs in Go, TypeScript, PHP, C++, Python, etc. |
| 45 | + |
| 46 | +``` |
| 47 | + +-------------------------+ |
| 48 | + | Internal Admin/Wallet | |
| 49 | + | (Not Publicly Routed) | |
| 50 | + +-----------+-------------+ |
| 51 | + | (RPC) |
| 52 | + | |
| 53 | + Public Internet <---+ +-----------+-------------+ |
| 54 | + | | Internal P2P Node | |
| 55 | ++---------------------+------------------+ | (Firewalled, Trusted) | |
| 56 | +| Load Balancer / Reverse Proxy (NGINX) | +-----------+-------------+ |
| 57 | +| (SSL Termination, Rate Limiting, etc.) | | (P2P) |
| 58 | ++---------------------+------------------+ | |
| 59 | + | +-----------+-------------+ |
| 60 | + | | (P2P) |
| 61 | ++---------------------+---------------------------------------------------+---------------------+ |
| 62 | +| | | | | |
| 63 | +| DMZ / Public-Facing API Node Pool | Wider Lethean P2P | |
| 64 | +| | Network | |
| 65 | +| +-----------------+ +-----------------+ +-----------------+ | | |
| 66 | +| | lethean-api #1 | | lethean-api #2 | ..... | lethean-api #N | | | |
| 67 | +| +-----------------+ +-----------------+ +-----------------+ | | |
| 68 | +| | - Oat++ Server | | - Oat++ Server | | - Oat++ Server | | | |
| 69 | +| | - currency_core | | - currency_core | | - currency_core | | | |
| 70 | +| | - p2p_node | | - p2p_node | | - p2p_node | | | |
| 71 | +| +-----------------+ +-----------------+ +-----------------+ | | |
| 72 | ++-------------------------------------------------------------------------+---------------------+ |
| 73 | +``` |
| 74 | +The current binary/JSON-RPC systems will stay, but the untouched legacy API is where upstream features would first appear. |
| 75 | + |
| 76 | +The chain node will come in two flavors, one for production use, the other for personal. |
| 77 | +The production version will only sync the chain and serve the new API. |
| 78 | + |
| 79 | +The framework was recently load-tested to handle 5 million concurrent web sockets, so this `lethean-api` binary will only really need NGINX for load balancing and reverse proxy/SSL termination (SSL would be handled in-binary by using .lthn names, but that's a future feature). |
| 80 | + |
| 81 | +The personal version will include the features of `lethean-api` in the `lethean-chain-node` binary, but without `stratum`, `market`, or anything likely to become geographically problematic in the coming years. |
| 82 | + |
| 83 | +A CryptoNote chain with a local OpenAPI Server + Docs interface & SDKs in your programming language, anyone? |
| 84 | + |
| 85 | + |
| 86 | +The first "cool" feature I'll add on top is an in-binary torrent of the chain's pre-download file, with the seed nodes and people who select to share the torrent seeding. |
| 87 | + |
| 88 | +It will grab a packaged .raw file, update your local chain, and then turn on the P2P server, which will take over to align your height with the chain's top height. |
| 89 | + |
| 90 | +It is excellent at doing sequential binary updates; it's just slow for the initial sync, which only gets slower as the chain ages. |
| 91 | + |
| 92 | +## A Teaser of a Coming Feature |
| 93 | + |
| 94 | +We are getting a sidechain. While running the sidechain is optional, it's a deeply integrated bolt-on of functionality into the CryptoNote space for our use case. |
| 95 | + |
| 96 | +That's all you get for now. Until next time. |
| 97 | + |
| 98 | +Take Care |
| 99 | + |
| 100 | +Snider<br/> |
| 101 | +Lethean Developer<br/> |
| 102 | +_I Would Love To Change The World, But They Won't Give Me The Source Code_ |
0 commit comments