Communitynieuws

Judecoin updates and development notes.

2026 Updates

16 updates

July 2026

2 updates

Judecoin Lab update #20260720

The upgrade of the Windows GUI wallet is nearing completion and is about to enter the final testing phase; it is expected to launch in August.

Judecoin Lab update #20260701

  • A community-developed version of the blockchain explorer has been updated in the designated code repository.
  • In the future, more community-developed versions of blockchain explorers, wallets, and other ecosystem applications will be updated.

June 2026

3 updates

Judecoin Lab update #20260617

  • Fix service node winner incorrect error

If we are re-deriving states we still also need the historical quorums such that we can process incoming blocks with state changes. Without it, state changes will be ignored and skipped causing inconsistent state in the service node list.

This mandates a rescan and stores the most recent in state_ts, and only just quorums for states preceeding 10k intervals. We can no longer store the 1st most recent state in the DB as that will be missing quorums as well for similar reason when rederiving on start-up.

  • Apple's system wallet and GUI wallet need to be redeveloped from the underlying code; for the system wallet, the Mac version needs to be completed first before the mobile version can be completed.

Judecoin Lab update #20260613

Andres Pavez

Greetings,

IANA has published a new Certificate Authority (CA) certificate used to validate the authenticity of the DNS root zone trust anchors file (root-anchors.xml).

The updated certificate bundle is available at:

https://data.iana.org/root-anchors/icannbundle.pem

This bundle currently contains both the existing certificate and its replacement certificate. Signatures chaining to the new certificate are expected to be published in 2028, at which point relying parties will need to validate using the new certificate.

Affected file(s):

  • src/common/dns_utils.cpp

Please review whether the trust anchor validation material in this repository should be updated to include the current contents of icannbundle.pem.

Considerations for updating the trust anchor are described inDNSSEC Trust Anchor Publication for the Root Zone (RFC 9718).

Thank you.

jessicayang-judecoin

Thank you for the report.

I reviewed the DNSSEC trust anchor handling. The old ICANN CA certificate block was commented out and was not used by the current resolver path.

DNSSEC validation is initialized directly from the built-in DS trust anchors via get_builtin_ds(), which already includes the current root DS trust anchors.

I removed the stale commented-out certificate block and updated the comment to keep the trust anchor handling clear without changing resolver behavior.

Judecoin Lab update #20260604

  • Our new website is https://www.judecoin.info, which is now integrated with GitHub. https://www.judecoin.io will cease service.
  • The download addresses for CLI Wallet and Palm Wallet have been updated.
  • New commands will be required for future node registration, node restarts, and node IP changes.

May 2026

2 updates

Judecoin Lab update #20260516

Cleanup on block adding failure.

If a block adding operation fails and triggers the following error message:

Block added hook signalled failure

the service node list does not get reset correctly. This can immediately lead to an incorrect service node winner, because the winner has already been incremented but not removed from the list.

This update fixes the issue by calling the blockchain detached hooks to perform the required cleanup.

The old version of the website will no longer be available. The new version will be gradually added to the information repository for community reference.

More APIs will be opened in the future, and more versions of blockchain explorers will be included.

Judecoin Lab update #20260511

Currently, some code repositories on GitHub and the website content are lagging behind the on-chain development progress.

In the future, the website will be restructured and integrated with GitHub. The website will be built around the theme of Proof of Stake, and its content can be directly updated and optimized on GitHub.

April 2026

4 updates

Judecoin Lab update #20260430

Kusama (KSM) Tripartite System

Kusama (KSM) uses a tripartite system:

  • Referendum: all nodes
  • Council: community governance organizers
  • Technical Committee: development

Incentive Mechanism

Node incentives and voting are related to Service Nodes updating the community's latest CLI.

Rewards for community governance organizers are distributed from the total amount contributed to the Judecoin community since its launch.

Qualifications for Community Governance Organizers

  1. Community governance organizers must hold at least 100,000 Judecoins.
  2. They must have an independent GitHub account.
  3. They must have the ability to identify simple code.
  4. Community governance organizers must not be located in regions where cryptocurrency operations are prohibited.
  5. They must be able to provide maintenance protocols and technical upgrade suggestions.
  6. Malicious and illegal upgrades will be rejected.
  7. Malicious proposals will be penalized, have their privileges revoked, or be blocked.
  8. Community governance organizers must leave a message on GitHub and provide an email address.

Judecoin Lab update #20260424

Update your CLI wallet to version V3.1.1.

If you have already registered and started a Service Node, re-register and start it with the new wallet version to prevent block rewards from not being distributed.

Judecoin Lab update #20260423

In the future, the core nodes, iOS wallet, and GUI wallet versions will be upgraded to prepare for the next major upgrade.

The next wallet upgrade will add more nodes.

Please follow the official website's instructions to start the registration service.

Judecoin Lab update #20260416

quorum_cop: Fix Bug in Missing Node Detection and Add Logging

Fixed a bug in missing node detection and added logging.

Service Nodes: Add Quorum States to Database Storage

Added quorum states to database storage for Service Nodes.

Make Transaction Type and Version Scoped Enums

This converts the transaction type and version to scoped enums, giving type safety and making transaction type assignment less error-prone.

There is no implicit conversion or comparison with raw integers that needs to be considered.

This converts uses of:

text
cryptonote::transaction::type_xyz

to:

text
cryptonote::transaction::txtype::xyz

For versions, names such as:

text
transaction::version_v3

become:

text
cryptonote::txversion::v3_tx_types

This also allows and includes various other simplifications related to, or enabled by, this change:

  • Handle is_standard_tx dynamically in serialization code, setting type::standard or type::state_change rather than using a version-determined union.
  • get_type() is no longer needed with the above change. It is now much simpler to directly access type, which will always have the correct value, even for v2 or v3 transaction types.
  • Although there was an assertion on the enum value, get_type() was only used sporadically, and many places accessed .type directly.
  • The old unscoped enum did not have a type but was assumed castable to and from uint16_t, which technically meant there was potential undefined behavior when deserializing any type values greater than or equal to 8.
  • Transaction type range checks were not being done in all serialization paths. They are now.
  • Because get_type() was not used everywhere, and many places simply accessed .type directly, these issues might not have been caught before.
  • set_type() is not needed. It was only being used in a single place, wallet2.cpp, and only for v3 transactions, so the version protection code was never doing anything.
  • Added a std::ostream << operator for the enum types so that they can be output with:
cpp
  << tx_type <<

rather than needing to wrap it everywhere in:

cpp
  type_to_string(tx_type)
  • For versions, the annotated version string is output, such as v3_tx_types, rather than just the number.

March 2026

1 update

Judecoin Lab update #20260313

  1. quorum_cop: added quorum cop and Service Node keys to judecoind.
  2. Service Nodes: added quorum states to database storage.
  3. quorum_cop: changed uptime proof prune timeout to 2 hours 10 minutes.
  4. Added judecoin-sn-keys SN key management tool.

This allows inspecting, generating, and restoring Ed25519 secret key files as needed by judecoind.

Generate SN Key

bash
$ ./judecoin-sn-keys generate key_ed25519
text
Generated SN Ed25519 secret key in key_ed25519

Public key:      08791467164b3f41681cb650385ffedeab96345f509e87a9852e4389643c5611
X25519 pubkey:   ea7b652f1d215674441775e5e42ceaef31cf3ffad6cc3f0321031abf0935b86c

Show SN Key

bash
$ ./judecoin-sn-keys show key_ed25519
text
key_ed25519 (Ed25519 SN keypair)

==========

Secret key:      08016220970441955b29b1797f2c4bee0d3237e50bfafdb7999264caea163ecc
Public key:      08791467164b3f41681cb650385ffedeab96345f509e87a9852e4389643c5611
X25519 pubkey:   ea7b652f1d215674441775e5e42ceaef31cf3ffad6cc3f0321031abf0935b86c

Restore SN Key

bash
$ ./judecoin-sn-keys restore key_ed25519-2
text
Enter the Ed25519 secret key:

08016220970441955b29b1797f2c4bee0d3237e50bfafdb7999264caea163ecc

Public key:      08791467164b3f41681cb650385ffedeab96345f509e87a9852e4389643c5611
X25519 pubkey:   ea7b652f1d215674441775e5e42ceaef31cf3ffad6cc3f0321031abf0935b86c

Is this correct? Press Enter to continue, Ctrl-C to cancel.

Saved secret key to key_ed25519-2
  1. Version 3.0.1 of the CLI wallet will be re-released once the upgrade is complete.

February 2026

1 update

Judecoin Lab update #20260214

Palm Wallet is an integrated wallet based on Judecoin mainnet version 3.0.0.

Future updates and upgrades to the wallet will primarily be based on version 3.0.0.

January 2026

3 updates

Judecoin Lab update #20260130

Cleaner Validation

This update provides cleaner validation that is faster and more reasonable.

There is no need to call check_key for every output public key in check_tx_outputs again.

The redundant call to check_key inside check_tx_outputs can be safely removed.

This change saves one unnecessary point decompression for every output public key since hard fork v14.

This provides a useful performance gain, in addition to the key image sanity check done for clarity and to prevent future mistakes.

Judecoin Lab update #20260122

Reject New Votes That Can Slip Through the Syncing Phase at Startup

If the daemon is not completely synced at startup, it can connect to peers that relay P2P votes from the tip of the chain before the daemon realizes it has blocks to sync.

This can cause the missing quorum state error to print erroneously.

This update rejects new votes that can slip through the syncing phase at startup.

Judecoin Lab update #20260111

Do Not Relay Expired Votes; Add Vote Tolerance Before Disconnection

This update changes the way votes are relayed to fix superfluous P2P disconnections.

The update includes:

  • Checking that votes are not older than VOTE_LIFETIME before relaying.
  • Adding a 5-block buffer to incoming vote tolerance handling.

Votes that are too new or too old should not be accepted.

However, a disconnection should not be triggered if the vote is within 5 blocks of the acceptable range, so that relays from slightly out-of-sync peers do not trigger P2P disconnections.