Skip to content

Feature/required besu native#8418

Merged
garyschulte merged 12 commits intobesu-eth:mainfrom
garyschulte:feature/required-besu-native
Mar 17, 2025
Merged

Feature/required besu native#8418
garyschulte merged 12 commits intobesu-eth:mainfrom
garyschulte:feature/required-besu-native

Conversation

@garyschulte
Copy link
Copy Markdown
Contributor

@garyschulte garyschulte commented Mar 13, 2025

PR description

Require besu to have certain native library implementations at startup. Fail with an actionable error message if required implementations are not available

This PR also bumps the besu-native dep to 1.2.1, facilitating as broadly as possible the loading of besu-native libraries.

macos aarch64:

...
# OS: osx-aarch_64                                                                                 #
...
2025-03-17 08:12:55.149-07:00 | main | INFO  | Besu | Using the native implementation of alt bn128
2025-03-17 08:12:55.359-07:00 | main | INFO  | Besu | Using the native implementation of modexp
2025-03-17 08:12:55.360-07:00 | main | INFO  | Besu | Using the native implementation of the signature algorithm
2025-03-17 08:12:55.363-07:00 | main | INFO  | Besu | Using the Java implementation of the blake2bf algorithm
...

linux x86_64:

...
# OS: linux-x86_64                                                                                 #
...
2025-03-17 07:28:55.482-07:00 | main | INFO  | Besu | Using the native implementation of alt bn128
2025-03-17 07:28:55.495-07:00 | main | INFO  | Besu | Using the native implementation of modexp
2025-03-17 07:28:55.495-07:00 | main | INFO  | Besu | Using the native implementation of the signature algorithm
2025-03-17 07:28:55.496-07:00 | main | INFO  | Besu | Using the native implementation of the blake2bf algorithm
...

linux aarch64:

...
# OS: linux-aarch_64                                                                               #
...
2025-03-17 08:04:08.473-07:00 | main | INFO  | Besu | Using the native implementation of alt bn128
2025-03-17 08:04:08.502-07:00 | main | INFO  | Besu | Using the native implementation of modexp
2025-03-17 08:04:08.503-07:00 | main | INFO  | Besu | Using the native implementation of the signature algorithm
2025-03-17 08:04:08.507-07:00 | main | INFO  | Besu | Using the Java implementation of the blake2bf algorithm
...

Fixed Issue(s)

#8342

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required.
  • Considered the changelog and included an update if required.
  • For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • spotless: ./gradlew spotlessApply
  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests

@garyschulte garyschulte force-pushed the feature/required-besu-native branch from 0af2c7d to bd42bfa Compare March 14, 2025 01:52
@garyschulte garyschulte force-pushed the feature/required-besu-native branch from bd42bfa to 85fa1e0 Compare March 14, 2025 16:03
Copy link
Copy Markdown
Contributor

@macfarla macfarla left a comment

Choose a reason for hiding this comment

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

prob also wort a changelog entry

@garyschulte garyschulte force-pushed the feature/required-besu-native branch 2 times, most recently from d91109f to 923270e Compare March 17, 2025 14:17
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
review feedback from Sally
added secp256k1 requirement

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
@garyschulte garyschulte force-pushed the feature/required-besu-native branch from 923270e to d9b333b Compare March 17, 2025 20:52
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
…uirements

Signed-off-by: garyschulte <garyschulte@gmail.com>
Copy link
Copy Markdown
Contributor

@siladu siladu left a comment

Choose a reason for hiding this comment

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

LGTM

@garyschulte garyschulte merged commit c924e76 into besu-eth:main Mar 17, 2025
43 checks passed
@garyschulte garyschulte deleted the feature/required-besu-native branch March 17, 2025 23:54
garyschulte added a commit that referenced this pull request Mar 18, 2025
* implement NativeRequirements for named networks

Signed-off-by: garyschulte <garyschulte@gmail.com>
shemnon pushed a commit to shemnon/besu that referenced this pull request Apr 3, 2025
* implement NativeRequirements for named networks

Signed-off-by: garyschulte <garyschulte@gmail.com>
siladu added a commit that referenced this pull request Jul 8, 2025
* Feature/required besu native (#8418)

* implement NativeRequirements for named networks

Signed-off-by: garyschulte <garyschulte@gmail.com>

* Fix gradle verification (#8435)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* eth_config prototype

A prototype for eth_cofig, sharing operational client configuration data
 via RPC.

Signed-off-by: Danno Ferrin <danno@numisight.com>

* review comments

Signed-off-by: Danno Ferrin <danno@numisight.com>

* update precompile names

Signed-off-by: Danno Ferrin <danno@numisight.com>

* Refactor how next fork is calculated

Signed-off-by: Danno Ferrin <danno@numisight.com>

* copyright

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* formatting

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
jflo pushed a commit to jflo/besu that referenced this pull request Sep 8, 2025
* Feature/required besu native (besu-eth#8418)

* implement NativeRequirements for named networks

Signed-off-by: garyschulte <garyschulte@gmail.com>

* Fix gradle verification (besu-eth#8435)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* eth_config prototype

A prototype for eth_cofig, sharing operational client configuration data
 via RPC.

Signed-off-by: Danno Ferrin <danno@numisight.com>

* review comments

Signed-off-by: Danno Ferrin <danno@numisight.com>

* update precompile names

Signed-off-by: Danno Ferrin <danno@numisight.com>

* Refactor how next fork is calculated

Signed-off-by: Danno Ferrin <danno@numisight.com>

* copyright

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* formatting

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
jflo pushed a commit to jflo/besu that referenced this pull request Sep 8, 2025
* Feature/required besu native (besu-eth#8418)

* implement NativeRequirements for named networks

Signed-off-by: garyschulte <garyschulte@gmail.com>

* Fix gradle verification (besu-eth#8435)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* eth_config prototype

A prototype for eth_cofig, sharing operational client configuration data
 via RPC.

Signed-off-by: Danno Ferrin <danno@numisight.com>

* review comments

Signed-off-by: Danno Ferrin <danno@numisight.com>

* update precompile names

Signed-off-by: Danno Ferrin <danno@numisight.com>

* Refactor how next fork is calculated

Signed-off-by: Danno Ferrin <danno@numisight.com>

* copyright

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* formatting

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno@numisight.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: jflo <justin+github@florentine.us>
Copy link
Copy Markdown

@dendees-code dendees-code left a comment

Choose a reason for hiding this comment

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

ok now look and see

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants