Skip to content

feat(*): Enrich FullNode command-line-options #6397

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: release_v4.8.1
Choose a base branch
from

Conversation

halibobo1205
Copy link
Contributor

close #6218.

@kuny0707 kuny0707 moved this to In Review in java-tron Jul 11, 2025
@kuny0707 kuny0707 linked an issue Jul 11, 2025 that may be closed by this pull request
 1. support the --solidity for SolidityNode
@halibobo1205
Copy link
Contributor Author

TODO: SolidityNode has been replaced by FullNode --solidity. CI testing scenarios(buildkite/interface-status-test-in-docker)need to be adapted accordingly.

Args.setParam(args, Constant.TESTNET_CONF);
CommonParameter parameter = Args.getInstance();

LogService.load(parameter.getLogbackPath());

if (parameter.isSolidityNode()) {
SolidityNode.run();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about add logger.info("Solidity node running.");. As FullNode logic also provide solidty API function with /walletsolidity/...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here:

Image

logger.error("Trust node is not set.");
return;
}
parameter.setSolidityNode(true);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will remove this parameter.setSolidityNode(true); effect the respected http/rpc service start?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure you check all related sub-class not depend this value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

parameter.setSolidityNode(true) is replaced by --solidity.

Image

@Sunny6889
Copy link

I have a question:
In existing FullNode with config node.http.solidityEnable with default is true, HTTP API /walletsolidity/... will return solidity info. Same asnode.rpc.solidityEnable for RPC request with protocol.WalletSolidity.
It seems we don't need SolidityNode at all, it only confuses users. Thus I think we don't need to support SolidityNode related features.

@halibobo1205
Copy link
Contributor Author

@Sunny6889 Java-tron's support for SolidityNode is still quite valuable, particularly for accelerating historical synchronization. By configuring trusted nodes, SolidityNode can skip the computationally expensive signature verification process, resulting in roughly a 33% reduction in synchronization time.

@Sunny6889
Copy link

@Sunny6889 Java-tron's support for SolidityNode is still quite valuable, particularly for accelerating historical synchronization. By configuring trusted nodes, SolidityNode can skip the computationally expensive signature verification process, resulting in roughly a 33% reduction in synchronization time.

@halibobo1205 For SolidityNode it only sync soliditied blocks? Could you share more about where the logic control it?

    1. consolidate KeystoreFactory into FullNode with ``--keystore`
    2. consolidate DBConvert into Toolkit with `db convert`
@halibobo1205 halibobo1205 changed the title feat(*): Consolidate SolidityNode into FullNode with --solidity feat(*): Enrich FullNode command-line-options Jul 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

Enrich FullNode command-line-options
3 participants