Grin Development Progress Reports

Hello everyone,

To make development progress easier to follow and keep all updates in one place, this thread will serve as a central log for monthly development reports. Each month, contributors involved in the project can post a summary of completed work.

Monthly updates will be added as replies to this thread.

6 Likes

Summary - May 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

  • mimblewimble/grin-wallet
  • mimblewimble/grin

mimblewimble/grin-wallet

Reviewed & Merged

  • #748 - Save last scanned block info for wallet scanning

mimblewimble/grin

Reviewed & Merged

  • #3836 - tui: show server initialization status and error
  • #3825 - Migrate from lmdb-zero to heed
  • #3843 - Change default IP address for P2PConfig to IPv6
  • #3834 - Update Rust edition to 2021

Created & Merged

  • #3846 - Add DNS Seeder fountainoffairfortune
  • #3844 - Snap addition
  • #3840 - Clarify the blinding factor range proof explanation and include remaining typo fixes
  • #3839 - Telegram GGC channel
  • #3833 - docs: update contributing process
  • #3832 - ci: staging docker build
  • #3831 - Test staging PR permissions
  • #3829 - Include git information in Docker builds and display git reference in version output

Created

  • #3847 - Add Telegram notifications for GitHub workflows
  • #3835 - Improve PIHD sync and PIBD segment handling

Additional Topics

  • Built a Docker-based test farm using Docker, Grafana, and Grin++/Grinffindor for testing and monitoring

Agenda - June 2026

grin-wallet (Review)

  • #750 - Replace tor process with arti client

grin

  • #3847 - Add Telegram notifications for GitHub workflows
  • #3835 - Improve PIHD sync and PIBD segment handling

grin++

  • Add API
  • Sync Process

General

  • Review and work through open issues
  • Continue testing, reviewing, and maintaining the Grin ecosystem
11 Likes

Summary - May - early June 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

  • mimblewimble/grin-wallet

  • mimblewimble/grin


mimblewimble/grin-wallet

Updated

  • #748 - Save last scanned block info for wallet scanning

Created

  • #749 - Update rust edition to 2021

  • #750 - Integrated Tor arti Client

  • #755 - Update lmdb

  • #758 - Node submodules

Tested

  • #754 - Update contracts to current staging

mimblewimble/grin

Updated

  • #3823 - PIBD peers fix

  • #3825 - Migrate from lmdb-zero to heed

Created

  • #3829 - Include git info into docker build, show git ref at version

  • #3832 - ci: staging docker build

  • #3834 - Update Rust edition to 2021

  • #3836 - tui: show server initialization status and error

  • #3851 - Do not use workspace for submodules

Tested & Reviewed

  • #3820 - Optimize PMMR segments to only include hashes at pruning boundaries

  • #3835 - Improve PIHD sync and PIBD segment handling

  • #3844 - Snap addition

  • #3849 - propagate lmdb iterator page errors

  • #3850 - PIBD: bound segment decoding allocations


Additional Topics

  • Grim: ci macos runner, update grin submodules, tx repost fix, some UI fixes.
9 Likes

Impressive work @wiesche and @ardocrat ! Keep it up ! :flexed_biceps: :clap:

7 Likes

Summary - June 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

mimblewimble/grin-wallet
mimblewimble/grin

mimblewimble/grin-wallet

Reviewed & Merged

  • #748 - Save last scanned block info for wallet scanning
  • #750 - Integrated Tor arti Client
  • #755 - Update lmdb
  • #758 - Node submodules
  • #762 - Global Tor client state
  • #763 - Optimize tor sync flow

Reviewed

  • #754 - Update contracts to current staging + fix #729

mimblewimble/grin

Reviewed & Merged

  • #3836 - tui: show server initialization status and error
  • #3825 - Migrate from lmdb-zero to heed
  • #3823 - PIBD peers fix
  • #3851 - Do not use workspace for submodules
  • #3860 - LMDB resize fixes
  • #3868 - Fix TUI server startup shutdown handling

Created & Merged

  • #3849 - propagate lmdb iterator page errors
  • #3861 - Validate bitmap segment indices on decode
  • #3862 - Improve seedcheck diagnostics and Windows cleanup
  • #3863 - add dns seeder
  • #3866 - Fix pool fuzz build
  • #3875 - Harden PIBD segment retry and recovery
  • #3877 - Improve macOS TUI support with crossterm backend
  • #3878 - Notify Telegram on merged pull requests
  • #3879 - add PIHD header segment protocol
  • #3880 - avoid panic on invalid config migration

Created

  • #3881 - Create API secrets at configured paths
  • #3882 - Implement PIHD header sync

Reviewed

  • #3820 - Optimize PMMR segments to only include hashes at pruning boundaries

General

Continue PIHD/PIBD implementation and testing
Review and work through open issues

9 Likes

Summary - June - early July 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

  • mimblewimble/grin-wallet
  • mimblewimble/grin

mimblewimble/grin-wallet

Updated

  • #750 - Integrated Tor arti Client

  • #758 - Node submodules

Created

  • #762 - Global Tor client state

  • #765 - Connection timeout

  • #768 - Update deps

  • #769 - Global config instance

Tested

  • #754 - Update contracts to current staging

mimblewimble/grin

Updated

Created

  • #3860 - LMDB resize fixes

  • #3864 - Allow running multiple nodes from single IP

  • #3865 - Optimize LMDB migration size check

  • #3883 - Update API dependencies

  • #3884 - Fuzz build fix

  • #3885 - Fix tests using rustls

Tested & Reviewed

  • #3820 - Optimize PMMR segments to only include hashes at pruning boundaries

  • #3835 - Improve PIHD sync and PIBD segment handling

  • #3861 - Validate bitmap segment indices on decode

  • #3862 - Improve seedcheck diagnostics and Windows cleanup

  • #3863 - Add dns seeder

  • #3866 - Fix pool fuzz build

  • #3875 - Harden PIBD segment retry and recovery

  • #3877 - Improve macOS TUI support with crossterm backend

  • #3879 - Add PIHD header segment protocol

  • #3880 - Avoid panic on invalid config migration

  • #3881 - Create API secrets at configured paths

  • #3882 - Implement PIHD header sync

  • #3904 - docs: accurate input/output linking in grin4bitcoiners.md

  • #3905 - Migrate TUI from cursive to ratatui


Additional Topics

  • Grim: optimize Tor, ipv6 setup for APIs, encrypt Slatepack for invoice with address, finalize over Tor, fix i18n for Chinese.
8 Likes

Summary - July 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

  • mimblewimble/grin-wallet
  • mimblewimble/grin
  • mimblewimble/mwixnet

mimblewimble/grin-wallet

Reviewed & Merged

  • #765 - Connection timeout
  • #768 - Update deps
  • #769 - Global config instance
  • #773 - Wrong Slatepack address fix
  • #779 - Use native TLS for client

Created & Merged

  • #774 - Bump lodash from 4.17.21 to 4.18.1
  • #781 - Expose Mwixnet onion APIs for external consumers

Created

  • #777 - Update jayson and uuid
  • #778 - RFC: Explore running a node and wallet in the same process
  • #783 - Mwixnet wallet support

Reviewed

  • #754 - Update contracts to current staging + fix #729
  • #771 - Add interactive TUI mode for grin-wallet
  • #772 - Revive node and wallet multi-process integration suite
  • #780 - Optimize outputs scan and selection

mimblewimble/grin

Reviewed & Merged

  • #3864 - Compare peer ports to allow multiple nodes from a single IP
  • #3883 - Update API dependencies
  • #3884 - Fuzz build fix
  • #3885 - Fix tests using rustls
  • #3886 - Add unit tests for the stratum server module
  • #3911 - Use Tokio channel for REST shutdown signal
  • #3912 - Install rustls provider at a single place
  • #3914 - Keep preferred peers when enough outbound peers are connected
  • #3917 - REST address bind fix
  • #3920 - Better initialization of global variables

Created & Merged

  • #3881 - Create API secrets at configured paths
  • #3882 - Implement PIHD header sync
  • #3913 - Show node runtime in status view

Reviewed

  • #3876 - Refactor stratum server leak handling
  • #3887 - Rewrite pool documentation for the current txpool/stempool design
  • #3888 - Clean old txhashset snapshot archives
  • #3889 - Stop stratum TCP connection leaks under reconnect load
  • #3890 - Keep Node API responsive during txhashset creation
  • #3891 - Claim state sync requests with compare_exchange
  • #3892 - Throttle chain compaction with a wall-clock interval
  • #3893 - Fall back to defaults for missing configuration keys
  • #3894 - Improve readiness reporting while the node is syncing
  • #3895 - Abort chain compaction cleanly on shutdown
  • #3896 - Handle clock skew with FutureTimeLimit
  • #3897 - Expose stratum mining statistics through the Owner API
  • #3898 - Update peer difficulty on header and block receipt
  • #3899 - Cache packed proof nonces for cheaper header and block hashing
  • #3900 - Rebroadcast transactions recovered from the reorg cache
  • #3901 - Prune dead stratum workers
  • #3902 - Bound MerkleProof path length during deserialization
  • #3903 - Wait for P2P send-buffer space on request responses
  • #3905 - Migrate the TUI from cursive to ratatui
  • #3906 - Speed up chain compaction and harden PIBD validation
  • #3907 - Add optional TLS for P2P connections
  • #3908 - Gracefully handle out-of-disk-space failures

mimblewimble/mwixnet

Created

  • #34 - Restore compatibility with Grin staging

General

  • Completed and merged the PIHD header synchronization implementation
  • Started integrating Mwixnet support into grin-wallet
  • Reviewed performance, storage, recovery, TUI, and API changes
  • Continued reviewing and working through open issues
6 Likes

Summary - July - early August 2026

A brief overview of the pull requests I reviewed, created, and contributed to in the following repositories:

  • mimblewimble/grin-wallet
  • mimblewimble/grin
  • mimblewimble/mwixnet

mimblewimble/grin-wallet

Updated

  • #768 - Update dependencies
  • #769 - Global configuration instance

Created

  • #773 - Wrong Slatepack address fix
  • #779 - Use native TLS for client
  • #780 - Optimize outputs scan and selection
  • #782 - Make updater apis public
  • #784 - Release 5.5.0
  • #785 - Fix Github CI MacOS build

Reviewed

  • #771 - Add interactive TUI mode
  • #774 - Bump lodash from 4.17.21 to 4.18.1
  • #777 - Update jayson and uuid
  • #778 - RFC: Explore running a node and wallet in the same process
  • #783 - Mwixnet wallet support

mimblewimbe/grin

Created

  • #3911 - Use Tokio channel for REST shutdown signal
  • #3912 - Install rustls provider at a single place
  • #3914 - Keep preferred peers when enough outbound peers are connected
  • #3917 - REST address bind fix
  • #3919 - Fix peers monitor log message and prevent underflow
  • #3920 - Better initialization of global variables
  • #3922 - Get read limit from reader
  • #3924 - Release 5.5.1

Tested & Reviewed

  • #3820 - Optimize PMMR segments to only include hashes at pruning boundaries
  • #3876 - Refactor stratum server leak handling
  • #3886 - Add unit tests for the stratum server module
  • #3889 - Stop stratum TCP connection leaks under reconnect load
  • #3892 - Throttle chain compaction with a wall-clock interval
  • #3895 - Abort chain compaction cleanly on shutdown
  • #3905 - Migrate the TUI from cursive to ratatui
  • #3906 - Speed up chain compaction and harden PIBD validation
  • #3907 - Add optional TLS for P2P connections
  • #3908 - Gracefully handle out-of-disk-space failures
  • #3913 - Show node runtime in status view
  • #3915 - Make the sparse PIBD segment optimization safe to apply

mimblewimble/mwixnet

Reviewed

  • #34 - Restore compatibility with Grin staging

General

  • Updated commons dependencies to fix possible vulnerabilities
  • Fixed an issue to send big amount from grin-wallet optimizing outputs sync speed
  • Created stable release for Grim GUI adding last changes from staging branches
  • Prepared release 5.5.0 for wallet and 5.5.1 for node
  • Started multisig reviewing AI suggestion as example

Took vacation till 1st September.

6 Likes