# Open-source contributions for Ned {#title}

Six issues matched to the Rust, networking, testing, and consensus work in [Thrylos](https://github.com/thrylos-labs/thrylos).

Start with **Proptest #628**, then **rust-libp2p #6623**. Malachite is the strongest longer-term fit because Thrylos already uses it.

Checked October 11, 2026: all six were open and unassigned, with no competing open fix found in the issue timelines and PR lists reviewed. Confirm availability before starting. Effort estimates exclude maintainer review.

## Proptest: nonzero integers on WebAssembly {#issue-628}

[Issue #628](https://github.com/proptest-rs/proptest/issues/628) · **½–2 days** · Recommended first contribution

Restore `NonZeroU128` and `NonZeroI128` support on WebAssembly, test that generated values are nonzero, and verify the WebAssembly build. Current source still excludes these implementations despite later support for the underlying integer types.

A focused Rust fix in a testing dependency Thrylos already uses.

## rust-libp2p: DNS dialing order {#issue-6623}

[Issue #6623](https://github.com/libp2p/rust-libp2p/issues/6623) · **1–3 days**

Smart dialing currently classifies ordinary DNS names as private and localhost names as non-private. Correct the reversed condition and add regression tests for DNS names, localhost, public IPs, and relay addresses. Agree on `/dnsaddr` behavior with maintainers.

Thrylos uses its own transport, but its peer connection and address-handling work makes this a useful networking contribution.

## Tendermint-rs: case-insensitive hashes {#issue-1279}

[Issue #1279](https://github.com/cometbft/tendermint-rs/issues/1279) · **½–2 days**

Make `Hash::from_str` accept lowercase and mixed-case hexadecimal input, preserve canonical output, and test malformed input. Current parsing accepts uppercase only; the discussion says that restriction was not intentional.

A small encoding and API fix related to Thrylos’s addresses and transaction tooling. Opened in 2023—confirm maintainers still want it.

## Tendermint-rs: conflicting blocks for tests {#issue-1239}

[Issue #1239](https://github.com/cometbft/tendermint-rs/issues/1239) · **3–7 days**

Add a helper that generates two conflicting, valid light blocks at the same height. Tests should show that both independently verify while forming a useful pair for misbehaviour testing.

A substantive way to apply Thrylos’s consensus and adversarial-testing experience. Opened in 2022—confirm the desired API and scope first.

## Malachite: canonical signing bytes {#issue-798}

[Issue #798](https://github.com/circlefin/malachite/issues/798) · **1–2 weeks**

Replace Protobuf-based vote and proposal signing in the test and example applications with deterministic, canonical signing bytes. Agree on the format and compatibility expectations, then add fixed test vectors.

Thrylos already uses Malachite, making this the most directly relevant upstream relationship.

**Assignment required:** Malachite requires explicit issue assignment before an external contributor submits a PR. Read the [contribution policy](https://github.com/circlefin/malachite/blob/main/CONTRIBUTING.md).

## Proptest: configuration guide {#issue-559}

[Issue #559](https://github.com/proptest-rs/proptest/issues/559) · **1–2 days**

Write a dedicated guide explaining seeds, replay, case counts, shrinking limits, and environment-variable precedence, with verified examples.

An approachable contribution that shares practical testing knowledge and helps developers reproduce failures.

## Research scope {#method-title}

Issue bodies, comments, linked PRs, open PR lists, contribution policies, and current source were inspected. These are researched candidates; the fixes have not been implemented or reproduced.

Already-in-progress fixes were excluded, including [Proptest #671](https://github.com/proptest-rs/proptest/issues/671) and [raft-rs #595](https://github.com/tikv/raft-rs/issues/595). Several small Malachite bugs also already had contributors offering patches.
