# Dev Update 7 Oct 2025

**URL:** <https://talk.neptune.cash/t/dev-update-7-oct-2025/127>\
**Category:** News and Announcements\
**Tags:** dev-updates\
**Created:** [October 7, 2025, 6:18am UTC](https://talk.neptune.cash/t/dev-update-7-oct-2025/127 "2025-10-07T06:18:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![neptune-team](https://talk.neptune.cash/user_avatar/talk.neptune.cash/neptune-team/32/18_2.png) [@neptune-team](https://talk.neptune.cash/u/neptune-team)\
**Post date:** [October 7, 2025, 6:18am UTC](https://talk.neptune.cash/t/dev-update-7-oct-2025/127/1 "2025-10-07T06:18:39Z")

</div>

![neptune-banner](https://talk.neptune.cash/uploads/default/original/1X/3e76822acc7dcfcb498d95fe5340996dc945ea98.jpeg)

### Last week by the numbers

**neptune-core**

- [9 commits to master branch](https://github.com/Neptune-Crypto/neptune-core/commits/master/?since=2025-09-28&until=2025-10-05)
- [9 issues closed](https://github.com/Neptune-Crypto/neptune-core/issues?q=is:issue+state:closed+closed:2025-09-28..2025-10-05)
- [5 pull requests raised](https://github.com/Neptune-Crypto/neptune-core/issues?q=is:pr+created:2025-09-28..2025-10-05)
- [3 pull requests merged](https://github.com/Neptune-Crypto/neptune-core/issues?q=is:pr+merged:2025-09-28..2025-10-05)

**twenty-first**

- [2 commits to master branch](https://github.com/Neptune-Crypto/twenty-first/commits/master/?since=2025-09-28&until=2025-10-05)
- [1 pull requests raised](https://github.com/Neptune-Crypto/twenty-first/issues?q=is:pr+created:2025-09-28..2025-10-05)
- [1 pull requests merged](https://github.com/Neptune-Crypto/twenty-first/issues?q=is:pr+merged:2025-09-28..2025-10-05)

**neptune-explorer**

- [5 commits to master branch](https://github.com/Neptune-Crypto/neptune-explorer/commits/master/?since=2025-09-28&until=2025-10-05)

**triton-vm**

- [1 commits to master branch](https://github.com/TritonVM/triton-vm/commits/master/?since=2025-09-28&until=2025-10-05)

## Neptune Happenings

### Hard Fork Proposed for POW Algo Change.

[Pull Request #727](https://github.com/Neptune-Crypto/neptune-core/pull/727) by @sword-smith fixes a deficiency in the memory-hard POW algorithm that disincentivizes guessers from switching to block proposals that should be more profitable for them.

Presently (in neptune-core 0.4.0) switching to another proposal requires performing the pre-processing step again which takes up valuable time. Many guessers choose not to switch, which disincentives composers from competing and keeps the guesser-fraction lower than it should otherwise be. Most importantly, it prevents new transactions from being merged into the block proposal after guessing has started. With this hardfork, more transactions can be added to the proposals as guessing is ongoing.

The PR makes switching essentially free, so guessers should be properly incentivized to jump on the most attractive block proposal, which also means the proposal that mines the most fee-paying transactions.

This change, while small, does affect consensus and thus would require a hard-fork, if agreed upon.

More information will be forthcoming once the PR goes through review process.

### Neptune listed on CoinGecko and CoinPaprika

@sword-smith added a couple of RPC endpoints to [explorer.neptune.cash](https://explorer.neptune.cash) that market aggregators need for providing blockchain information. For more technical details, see [github](https://github.com/Neptune-Crypto/neptune-explorer/commits/master/?since=2025-09-28&until=2025-10-05).

With this technical support in place and the efforts of our outstanding Neptune Community, Neptune is now listed at:

#### coinpaprika

> **[Neptune Cash (NPT) Price, Market Cap, Chart & Info | Coinpaprika](https://coinpaprika.com/coin/npt-neptune-cash/)**
>
> The live Neptune Cash price today is $0.469745 USD with a 24-hour trading volume of $3,828 USD. We update our NPT to USD price in real-time. Neptune Cash is down 12.96% in the last 24 hours. The current ranking is #2066, with a live market cap of...

#### coingecko

[https://www.coingecko.com/en/coins/neptune-cash](https://www.coingecko.com/en/coins/neptune-cash)

note: Be sure to look for _Neptune Cash_ with symbol _NPT_. Some other listed projects have similar names.

### Competing PRs raised for multi-lang RPC support in neptune-core

When it rains, it pours.

After years of having a single, rust-only RPC mechanism in neptune-core…

@danda and @KaffinPX have independently integrated RPC frameworks, taking different approaches. It will be up to reviewers to evaluate and choose a path forward. Both PRs are presently in a draft state, not considered ready for a final review.

Both solutions aim to address [issue 62](https://github.com/Neptune-Crypto/neptune-core/issues/62), which is one of the oldest open issues in neptune-core. The goal is to improve interoperability by making neptune-core RPC’s callable from other languages.

@danda’s [solution](https://github.com/Neptune-Crypto/neptune-core/pull/725) utilizes a single set of RPC endpoint methods, where each method is automatically called by a thin wrapper for each of tarpc, json-rpc, and rest. All the wrappers are generated via macros. In this way, both old and new endpoints are supported by each RPC framework.

@KaffinPX’s [solution](https://github.com/Neptune-Crypto/neptune-core/pull/726) adds json-rpc support to neptune-core and includes namespaces for different sets of methods such as `node`, `chain`, `mempool`, `mining`, etc. The PR presently includes two basic endpoints. It appears to be intended for future endpoints rather than extending interop for existing endpoints.

### Parallel Block Download Progress

@aszepieniec worked on parallel block downloading and decided to implement a pseudo-random block generator to test concurrent processing of incoming blocks.

Summary of architecture:

- When sync mode is activated, it will spawn an event loop known as the _sync loop_ which is a message-driven actor communicating with the main loop; the main loop relays messages to and from peer loops whenever necessary.
- The sync loop communicates with only one counterparty (the main loop) and does not share memory. This modular design benefits testing and conceivably the module could be factored out into its own crate (although there are lower-hanging fruits than more fine-grained crate separation if the objective is to improve compilation speed).
- As blocks come in, they are stored to disk into a temp directory. The temp directory has a deterministic name. If the directory already contains files then the sync will resume from there. (And so, you can power down your node mid-sync and not have to throw away all hard work.)
- Block can come in concurrently, out of order. When all blocks have been received, they are processed by the main loop in order as a result of which they are stored in the blocks database. At this point the temp directory is cleared and deleted.
- The state of the sync loop records which blocks have been received already (or even processed) and which blocks have not been received yet. Peers that have the new version of the software are given this snapshot and are allowed to respond with a random outstanding blocks (peer samples randomness). Since they are running the new software, they can respond with blocks from their own temp directory even as they themselves are syncing. Peers running the old version of the software are asked for given random blocks (sync loop samples randomness), and can only be used for synced if they themselves are fully synced.

### Paving the Way for Faster Hashing

Prior to his leave of absence, @jfs started to integrate a vectorized version of the Tip5 hash function. This version makes use of [AVX-512](https://en.wikipedia.org/wiki/AVX-512) features, leveraging Single Instruction Multiple Data (SIMD) instructions of modern CPUs. (It sounds fairly technical because it is.)

A community member pointed out that the implementation contains a bug _somewhere_, and @jfs has spent most of last week trying to figure out _where_. You can follow the feature on [github](https://github.com/Neptune-Crypto/twenty-first/pull/268).

### Reminder: 0.5.0 Feature Wishlist

A wishlist has been created for the next version of neptune-core. The team is soliciting community feedback, so please add your desired features on github, or just comment in this thread.

> <https://github.com/Neptune-Crypto/neptune-core/issues/692>
>
> Wishlist for next major version of \`neptune-core\`
> 
> \- \[x\] Revise directory restru…cture #691 
> \- \[x\] Ability to create arbitrary coinbase transactions, for mining pools for distribution of timelocked UTXOs. #693 
> \- \[x\] Faster updating of archival mutator set, preferably linear in the number of inputs in the block #684 
> \- \[\] Hardfork: Free (no delay/need to redo memory preprocessing) switch between block proposals with the same parent
> \- \[x\] Don't share local IPs in peer discovery process #660 
> \- \[\] Faster initial block download -- through smaller batch requests, out-of-order block downloading from multiple peers #634 #585 
> - \[x\] Smaller batches
> - \[\] Parallel block download
> \- \[x\] Don't create new address whenever dashboard is opened. #719 
> \- \[\] Don't relay \`ProofCollection\`-backed transaction with low fees. #722
> 
> Feel free to contribute with your own suggestions for this list :)

## Contributor Updates:

@aszepieniec

- conferencing at ASCrypto and LatinCrypt in Colombia
- parallel block download

@jfs

- catch up with the last 3 months
  - triage open PRs
  - migrate stale PRs to latest `master`
  - …

- reproduce bug & start debugging Tip5 AVX-512 discrepancy

@danda

- implemented and published [multi-rpc](https://crates.io/crates/multi-rpc) crate
- raised draft PR integrating multi-rpc into neptune-core
