Stable Mainnet Release & WASM SDK v0.15.1
Kaspa on Rust — Mempool-Focused Release (second stable release)
This version focuses on introducing mempool features required for users and wallets for adopting to fee market conditions.
The main mempool features include:
- Replace-By-Fee (RBF)
- A fee estimation API based on real-time mempool state
- A new mempool evict policy based on fee rate
The version also includes the following major changes:
- Major performance enhancements in the block template transaction selection algorithm. This operation now takes only ~100 microseconds even under heavy load, and that is achieved without compromising on the most profitable selection strategy.
- Important improvement in header processing performance
- Many more accumulated enhancements, improvements and non-critical fixes
It is highly recommended that miners and pools gradually shift to this version both for stability reasons and for better supporting the network under upcoming expected fee market conditions.
What's Changed
- Update README and remove mainnet mining restriction by @michaelsutton in #477
- rustc 1.79.0 lints by @aspect in #485
- Address GitHub Actions warnings re Node 20 by @eladitzhakian in #471
- Add support for IP only for --rpclisten-borsh/json (#402) by @gvbgduh in #439
- Implement PSKT(Partially Signed Kaspa Transaction) by @biryukovmaxim in #481
- Replace by fee on mempool by @KaffinPX in #499
- style: fix clippy by @biryukovmaxim in #510
- Add input signature_script checking to submitTransaction RPC by @KaffinPX in #479
- Add hint message for P2P reject reason block not found. by @1bananagirl in #512
- Lazy load origin children by @someone235 in #518
- O(k log n) mempool transaction sampler + Fee estimation API by @michaelsutton in #513
- #505 #473 Upgrade kaspa-alloc's mimalloc dependency by @starkbamse in #519
- feat: implement next_block_template_feerate by @biryukovmaxim in #523
- Semaphore tracing feature (for tracing prune readers vs writers time) by @michaelsutton in #526
- TN11 bug fix: activate mass hashing when modifying a cached block template by @michaelsutton in #476
- A few optimizations related to multi-level relations by @michaelsutton in #527
- Query all DNS seeders if missing many connections by @michaelsutton in #530
- Cumulative PR - omega branch (wRPC v2, integrations, typescript-v2, resolver v2) by @aspect in #506
- get_current_block_color RPC utility by @KaffinPX in #528
- Mempool tweaks by @someone235 in #524
- Bump to version 0.14.3 by @michaelsutton in #531
- Transaction pool -- fix rare cases where byte size tracking was inaccurate by @michaelsutton in #535
- Feerate estimator outliers: capture block slot by the specific mass of the outlier transaction by @michaelsutton in #537
- Refactoring of mass calculator utilities by @aspect in #538
- Various miscellaneous changes towards 0.15.1 RC2 by @michaelsutton in #543
- Add optional proxy socket limit info to utils::SystemInfo() by @aspect in #544
- Deprecate zigbuild and glibc in favor of static musl binaries for Linux builds. by @starkbamse in #541
- Change directory back to repo root. by @starkbamse in #545
- WIP: Updates for 15-rc3 by @aspect in #546
- Replace openssl with rustls + ring + webpki_roots by @elichai in #547
- Fix CLI not showing incorrect URL on connect + add disconnect() before connect() by @aspect in #549
- Simple wRPC client example by @thesheepcat in #550
- 15 rc4 updates by @aspect in #554
- Bump to version 0.15.1 by @michaelsutton in #555
New Contributors
- @eladitzhakian made their first contribution in #471
- @KaffinPX made their first contribution in #499
- @1bananagirl made their first contribution in #512
- @thesheepcat made their first contribution in #550
Full Changelog: v0.14.1...v0.15.1