-
Notifications
You must be signed in to change notification settings - Fork 829
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
Update to new version of jc-kzg-4844 lib #7849
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: vaidikcode <[email protected]>
Signed-off-by: Vaidik <[email protected]>
Signed-off-by: Vaidik <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @vaidikcode can you outline any testing you have done for this please?
I am wondering if we need to check there isn't a performance regression.
From https://github.com/ethereum/c-kzg-4844/releases/tag/v2.0.0 sounds like there could be some negative memory impact along with the speed improvement
|
Hi @siladu , |
Teku already did the update Consensys/teku#8651, so we can ask to @StefanBratanov insight about the possible memory impact |
This value is for PeerDAS, I was told to have the same memory footprint as previous ckzg versions should set the value to 0. |
Signed-off-by: vaidikcode <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to put this on hold till we can verify the dependency via verification-metadata.xml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
confirmed, this looks good thanks
@vaidikcode there's some failing tests, could you try to reproduce locally please? |
@siladu working on it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the version where not needed, and according to the c-kzg-4844
changelog
The trusted setup format has been updated to include G1 points in monomial form.
This version of c-kzg-4844 requires the new trusted setup file.
The new trusted setup file can be used with previous versions of c-kzg-4844.
Download the new file from [trusted_setup.txt](https://github.com/ethereum/c-kzg-4844/blob/4b915a6617a85ef8c49d456374c1bc7f8647d968/src/trusted_setup.txt) in this repository.
This should match [trusted_setup_4096.json](https://github.com/ethereum/consensus-specs/blob/13ac373a2c284dc66b48ddd2ef0a10537e4e0de6/presets/mainnet/trusted_setups/trusted_setup_4096.json) in the specifications.
So I expect that the trusted setup file should be update as well, @StefanBratanov was that the case in Teku?
evm/build.gradle
Outdated
@@ -46,7 +46,7 @@ dependencies { | |||
implementation 'org.hyperledger.besu:arithmetic' | |||
implementation 'org.hyperledger.besu:bls12-381' | |||
implementation'org.hyperledger.besu:gnark' | |||
implementation 'tech.pegasys:jc-kzg-4844' | |||
implementation 'io.consensys.protocols:jc-kzg-4844:2.0.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the version is defined in the platform
project, so it needs to be removed here
besu/build.gradle
Outdated
@@ -81,7 +81,7 @@ dependencies { | |||
implementation 'org.rocksdb:rocksdbjni' | |||
implementation 'org.springframework.security:spring-security-crypto' | |||
implementation 'org.xerial.snappy:snappy-java' | |||
implementation 'tech.pegasys:jc-kzg-4844' | |||
implementation 'io.consensys.protocols:jc-kzg-4844:2.0.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the version
ethereum/core/build.gradle
Outdated
@@ -63,7 +63,7 @@ dependencies { | |||
implementation 'io.tmio:tuweni-units' | |||
implementation 'io.tmio:tuweni-rlp' | |||
implementation 'org.immutables:value-annotations' | |||
implementation 'tech.pegasys:jc-kzg-4844' | |||
implementation 'io.consensys.protocols:jc-kzg-4844:2.0.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the version
Yes. It was updated. The new one is in the repo itself. |
Signed-off-by: vaidikcode <[email protected]>
Signed-off-by: vaidikcode [email protected]
PR description
Updated all the related dependencies
Fixed Issue(s)
fixes #7848
Thanks for sending a pull request! Have you done the following?
doc-change-required
label to this PR if updates are required.Locally, you can run these tests to catch failures early:
./gradlew build
./gradlew acceptanceTest
./gradlew integrationTest
./gradlew ethereum:referenceTests:referenceTests