Open tibz-starton opened 1 year ago
NOTE : When I'm using the default emeraldpay/dshackle:0.13
Docker image, all is good, and when I build a custom Docker image without adding the BSC Chain and with a generic dshackle.yaml
file, it works too.
I test the Ethereum providers with the following command line (and it works for a basic configuration):
curl --request POST \
--url http://localhost:8545/eth \
--header 'content-type: application/json' \
--data '{"jsonrpc":"2.0", "method":"eth_getTransactionReceipt", "id":1, "params":["0x0842267f92e70526f32a0f770d4d8135b1f1fa5b79922256617d1942646a2cdd", "latest"]}'
Have a good day ! ;)
UPDATE: When I'm trying to build my custom image :
gradle jibDockerBuild --warning-mode all
I have the following output :
> Configure project :
IncrementalTaskInputs has been deprecated. This is scheduled to be removed in Gradle 8.0. On method 'AbstractKotlinCompile.execute' use 'org.gradle.work.InputChanges' instead. Consult the upgrading guide for further information: https://docs.gradle.org/7.6/userguide/upgrading_version_7.html#incremental_task_inputs_deprecation
> Task :generateProto
Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated. This is scheduled to be removed in Gradle 8.0. Annotate the property sourceFiles with @IgnoreEmptyDirectories or remove @SkipWhenEmpty. Consult the upgrading guide for further information: https://docs.gradle.org/7.6/userguide/upgrading_version_7.html#empty_directories_file_tree
> Task :compileKotlin
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/cache/BlocksRedisCache.kt: (77, 13): Condition 'block.timestamp == null' is always 'false'
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/cache/BlocksRedisCache.kt: (77, 40): Condition 'block.hash == null' is always 'false'
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/cache/Caches.kt: (101, 15): Parameter 'tag' is never used
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/config/UpstreamsConfigReader.kt: (238, 69): Parameter 'defaultPort' is never used
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/config/UpstreamsConfigReader.kt: (282, 9): Parameter 'upstream' is never used
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/proxy/ReadRpcJson.kt: (165, 13): Variable 'seq' is never used
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/proxy/WriteRpcJson.kt: (70, 39): Unnecessary safe call on a non-null receiver of type Any
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/proxy/WriteRpcJson.kt: (72, 11): Elvis operator (?:) always returns the left operand of non-nullable type JsonRpcResponse.Id
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/proxy/WriteRpcJson.kt: (85, 37): Elvis operator (?:) always returns the left operand of non-nullable type Any
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/quorum/NonEmptyQuorum.kt: (57, 75): The corresponding parameter in the supertype 'ValueAwareQuorum' is named 'signature'. This may cause problems when calling this function with named arguments.
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/rpc/NativeCall.kt: (292, 25): Unchecked cast: NativeCall.ValidCallContext<T> to NativeCall.ValidCallContext<X>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/DefaultUpstream.kt: (103, 13): Variable 'quorum' is never used
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/bitcoin/BitcoinFees.kt: (38, 28): Unchecked cast: Any to List<String>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/bitcoin/BitcoinFees.kt: (47, 48): Unchecked cast: Any to List<Map<String, Any>>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/bitcoin/BitcoinFees.kt: (93, 50): Unchecked cast: Any to List<Map<String, Any>>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumUpstreamValidator.kt: (110, 49): Elvis operator (?:) always returns the left operand of non-nullable type Int
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumWsHead.kt: (68, 74): Unchecked cast: BlockJson<*>! to BlockJson<TransactionRefJson>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/subscribe/AggregatedPendingTxes.kt: (35, 29): Unchecked cast: HexDataComparator to kotlin.Comparator<TransactionId> /* = java.util.Comparator<TransactionId> */
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/subscribe/EthereumDshackleIngressSubscription.kt: (44, 32): Unchecked cast: DshacklePendingTxesSource to SubscriptionConnect<T>
w: /Users/tibo/Documents/Starton/dshackle/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/subscribe/ProduceNewHeads.kt: (45, 31): Unchecked cast: Any? to BlockJson<TransactionRefJson>
> Task :jibDockerBuild
Containerizing application to Docker daemon as emeraldpay/dshackle:snapshot, emeraldpay/dshackle:0.14.0-SNAPSHOT, emeraldpay/dshackle:t202301111040, emeraldpay/dshackle:0.14...
Base image 'openjdk:13' does not use a specific image digest - build may not be reproducible
The base image requires auth. Trying again for openjdk:13...
The credential helper (docker-credential-desktop) has nothing for server URL: registry-1.docker.io
Got output:
credentials not found in native keychain
The credential helper (docker-credential-desktop) has nothing for server URL: registry.hub.docker.com
Got output:
credentials not found in native keychain
Using credentials from Docker config (/Users/tibo/.docker/config.json) for openjdk:13
The base image reference is a manifest list, searching for architecture=amd64, os=linux
Using base image with digest: sha256:53cacd45e87d2e24e07143f73540e8aa40b31d9f52c6ee69ebffe7bd34bc8ca2
Container entrypoint set to [java, -Xms1024m, -cp, /app/resources:/app/classes:/app/libs/*, io.emeraldpay.dshackle.StarterKt]
Container program arguments set to []
Built image to Docker daemon as emeraldpay/dshackle:snapshot, emeraldpay/dshackle:0.14.0-SNAPSHOT, emeraldpay/dshackle:t202301111040, emeraldpay/dshackle:0.14
Executing tasks:
[==============================] 100.0% complete
BUILD SUCCESSFUL in 22s
8 actionable tasks: 8 executed
Hey !
Hope you're fine !
Here is the situation
I forked 3 repositories of EmeraldPay to try to add BSC Chain to Dshackle and some other chains after.
Here are the 3 repositories with my last versions :
emerald-grpc
So, I firstly added the BSC Chain in the emerald-grpc (starton) repository.
emerald-java-client
Then, I updated the emerald-java-client (starton) repository to add the BSC Chain too.
I also edited the
.gitmodules
file to fetch the newly forked emerald-grpc (starton) repository :Because I renamed the repository, I modified the
build.gradle
file with :And I built the Emerald Java Client with :
For this part, all is working, the emerald-grpc (starton) repository is well fetched and the build is 100% done (with 100 warning oops).
dshackle
Here is the sad part. As all seems good for the two previous repositories, I now try to fetch the emerald-java-client (starton) repository from the dshackle (starton) one. As I didn't create a package on the Maven repository, I decided to use the JitPack plugin to easily get it. Here is the
build.gradle
snippet code that I added:-- SOURCE: https://stackoverflow.com/questions/18748436/is-it-possible-to-declare-git-repository-as-dependency-in-android-gradle
Here is my
dshackle.yaml
file :(NOTE: My INFURA_USER env var is well exported)
Then, I want to build Dshackle with :
(I can't use
gradle build
because it will test the Gradle project and some tests doesn't pass and thus, the build fails...)The build success at 100%, I now try to build a Docker Image :
All is good and I finally try to use my newly created image :
And from this point, I have the following error:
Here is my configuration :
/!\ WARNING /!\ : I had to fix the
protobuf
andreactor
plugins because of my Mac M1, here is the code snippets available in thebuild.gradle
file for both emerald-java-client (starton) and dshackle (starton) repositories :and
-- SOURCE: this GitHub issue comment
Do you know where could be the problem ?
Thanks :)