Repository navigation
Conversation
Remove SM2/SM3 implementations and runtime engine selection, simplify cryptographic APIs and update their callers and tests. Reject unsupported legacy crypto.engine settings before storage or keystore initialization, with migration guidance and startup regression coverage.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
317787106
reviewed
Sep 24, 2026
3for
reviewed
Sep 28, 2026
3for
reviewed
Sep 28, 2026
317787106
approved these changes
Oct 10, 2026
Little-Peony
added a commit
to Little-Peony/java-tron
that referenced
this pull request
Oct 12, 2026
* release_v4.8.3: feat(framework): remove --keystore-factory support from FullNode (tronprotocol#6978) refactor(proto): remove unused proto discover definition (tronprotocol#7014) fix(config): close resource streams (tronprotocol#7002) refactor(crypto): remove unused SM2 and SM3 (tronprotocol#6999) feat(plugins): backfill section bloom (tronprotocol#6973) refactor(api): remove dead WalletExtension gRPC service and config (tronprotocol#6975) refactor(framework): decouple Manager from TronJsonRpcImpl (tronprotocol#6990) refactor(api): replace response copy wrappers with Jetty content count (tronprotocol#6982) update a new version. version name:GreatVoyage-v4.8.2.2-1-gf3e81404fe,version code:18830 (tronprotocol#7008) feat: improve node stability and execution efficiency (tronprotocol#7007)
warku123
added a commit
to warku123/java-tron
that referenced
this pull request
Oct 12, 2026
…ntAddress (upstream tronprotocol#6999)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Remove SM2/SM3 implementations, runtime engine selection, and Toolkit
--sm2options. Simplify signing and hashing APIs to ECKey/secp256k1 and SHA-256, and update their callers and tests across the dependent modules.Retain a startup-only compatibility check before storage or keystore initialization: an absent
crypto.engineuses the default suite; expliciteckeyis accepted with a deprecation warning; all other values, includingsm2, null, and non-string values, fail with migration guidance. Add configuration and FullNode startup regression tests and document the migration requirements.Why are these changes required?
The unused engine switch spans consensus-critical hashes, signatures, addresses, and Merkle roots. Removing it simplifies the cryptographic path, while the startup check prevents an existing SM2 deployment from silently switching algorithms against incompatible chain data. Implements the compatibility requirements discussed in #6959.
This PR has been tested by:
eckey, unsupported values, and rejection before database-directory creation or keystore initialization../gradlew test :framework:checkstyleMain :framework:checkstyleTest --continue --console=plainpassed: 3,437 tests passed, 27 skipped, zero failures; both framework Checkstyle tasks passed.Follow up
Existing SM2/SM3 deployments must remain on a compatible release until a separate migration is completed. Changing the configuration does not convert chain data or keys.
Extra details
The cross-module changes are required by the removal of shared engine-selecting APIs. This breaks those Java APIs and removes SM2/SM3 support; the default ECKey/SHA-256 path is retained.