diff --git a/Dockerfile b/Dockerfile index 78e6385e3ac..38e071e14b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited # SPDX-License-Identifier: LGPL-3.0-only -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-noble AS build ARG BUILD_CONFIG=release ARG BUILD_TIMESTAMP @@ -18,7 +18,7 @@ RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \ # A temporary symlink to support the old executable name RUN ln -s -r /publish/nethermind /publish/Nethermind.Runner -FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble +FROM mcr.microsoft.com/dotnet/aspnet:9.0-noble WORKDIR /nethermind diff --git a/Dockerfile.chiseled b/Dockerfile.chiseled index 3b677dcae78..a646cfb37d3 100644 --- a/Dockerfile.chiseled +++ b/Dockerfile.chiseled @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2024 Demerzel Solutions Limited # SPDX-License-Identifier: LGPL-3.0-only -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-noble AS build ARG BUILD_CONFIG=release ARG BUILD_TIMESTAMP @@ -21,7 +21,7 @@ RUN cd /publish && \ mkdir logs && \ mkdir nethermind_db -FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble-chiseled +FROM mcr.microsoft.com/dotnet/aspnet:9.0-noble-chiseled WORKDIR /nethermind diff --git a/Dockerfile.diag b/Dockerfile.diag index 8f19070d2cc..65013a4286c 100644 --- a/Dockerfile.diag +++ b/Dockerfile.diag @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited # SPDX-License-Identifier: LGPL-3.0-only -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-noble AS build ARG BUILD_CONFIG=release ARG BUILD_TIMESTAMP @@ -22,7 +22,7 @@ RUN dotnet tool install -g dotnet-dump && \ dotnet tool install -g dotnet-trace && \ dotnet tool install -g JetBrains.dotTrace.GlobalTools -FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble +FROM mcr.microsoft.com/dotnet/aspnet:9.0-noble WORKDIR /nethermind diff --git a/global.json b/global.json index c33ebd20493..38ab05dd0a5 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "8.0.0", - "allowPrerelease": false, + "version": "9.0.0", + "allowPrerelease": true, "rollForward": "latestFeature" } } diff --git a/src/Nethermind/Directory.Build.props b/src/Nethermind/Directory.Build.props index 5d2ad7cd802..5edb7ed6a78 100644 --- a/src/Nethermind/Directory.Build.props +++ b/src/Nethermind/Directory.Build.props @@ -4,8 +4,8 @@ Debug true latest - net8.0 - true + net9.0 + true diff --git a/src/Nethermind/Directory.Packages.props b/src/Nethermind/Directory.Packages.props index 7d129079f0f..f2ad2d6fde2 100644 --- a/src/Nethermind/Directory.Packages.props +++ b/src/Nethermind/Directory.Packages.props @@ -27,8 +27,8 @@ - - + + @@ -38,9 +38,9 @@ - - - + + + @@ -75,10 +75,10 @@ - - + + - + diff --git a/src/Nethermind/Nethermind.ExternalSigner.Plugin/Nethermind.ExternalSigner.Plugin.csproj b/src/Nethermind/Nethermind.ExternalSigner.Plugin/Nethermind.ExternalSigner.Plugin.csproj index 31ecca4eede..59e2b3e5938 100644 --- a/src/Nethermind/Nethermind.ExternalSigner.Plugin/Nethermind.ExternalSigner.Plugin.csproj +++ b/src/Nethermind/Nethermind.ExternalSigner.Plugin/Nethermind.ExternalSigner.Plugin.csproj @@ -1,7 +1,6 @@  - net8.0 enable enable diff --git a/src/Nethermind/Nethermind.Runner/Dockerfile b/src/Nethermind/Nethermind.Runner/Dockerfile index 026a7a7c4fb..ced7515b731 100644 --- a/src/Nethermind/Nethermind.Runner/Dockerfile +++ b/src/Nethermind/Nethermind.Runner/Dockerfile @@ -1,26 +1,45 @@ -#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. +# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +# This stage is used when running from VS in fast mode (Default for Debug configuration) +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base + +#USER app -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app VOLUME /data EXPOSE 8545 8551 30303 -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +# This stage is used to build the service project +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +ARG BUILD_CONFIGURATION=Release + WORKDIR /src +COPY Directory.*.props . +COPY nuget.config . COPY Nethermind.*/Nethermind.*.csproj Nethermind.*/ RUN dotnet restore Nethermind.Runner/Nethermind.Runner.csproj + COPY . . + WORKDIR /src/Nethermind.Runner -RUN dotnet build Nethermind.Runner.csproj -c release -o /app/build +RUN dotnet build Nethermind.Runner.csproj -c $BUILD_CONFIGURATION -o /app/build + +# This stage is used to publish the service project to be copied to the final stage FROM build AS publish -RUN dotnet publish Nethermind.Runner.csproj -c release -o /app/publish -p:UseAppHost=false +ARG BUILD_CONFIGURATION=Release + +RUN dotnet publish Nethermind.Runner.csproj -c $BUILD_CONFIGURATION -o /app/publish -p:UseAppHost=false +# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration) FROM base AS final + WORKDIR /app + COPY --from=publish /app/publish . + ENTRYPOINT ["dotnet", "nethermind.dll"] diff --git a/src/Nethermind/Nethermind.Runner/Properties/launchSettings.json b/src/Nethermind/Nethermind.Runner/Properties/launchSettings.json index 7c43a7b79a7..d58400541f8 100644 --- a/src/Nethermind/Nethermind.Runner/Properties/launchSettings.json +++ b/src/Nethermind/Nethermind.Runner/Properties/launchSettings.json @@ -114,7 +114,7 @@ }, "Docker": { "commandName": "Docker", - "commandLineArgs": "-c holesky --data-dir .data /data --jsonrpc-enginehost 0.0.0.0 --jsonrpc-engineport 8551 --jsonrpc-host 0.0.0.0" + "commandLineArgs": "-c holesky --data-dir /data --jsonrpc-enginehost 0.0.0.0 --jsonrpc-engineport 8551 --jsonrpc-host 0.0.0.0" } } } diff --git a/src/Nethermind/Nethermind.State/PersistentStorageProvider.cs b/src/Nethermind/Nethermind.State/PersistentStorageProvider.cs index 27f814222f8..5af8d6aa374 100644 --- a/src/Nethermind/Nethermind.State/PersistentStorageProvider.cs +++ b/src/Nethermind/Nethermind.State/PersistentStorageProvider.cs @@ -347,7 +347,7 @@ public void CommitTrees(IBlockCommitter blockCommitter) } } - Task.WaitAll(commitTask.ToArray()); + Task.WaitAll(commitTask); _toUpdateRoots.Clear(); // only needed here as there is no control over cached storage size otherwise diff --git a/src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs b/src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs index f3781550d06..848a23ff7db 100644 --- a/src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs +++ b/src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs @@ -806,7 +806,7 @@ void TopLevelPersist(TrieNode tn, Hash256? address2, TreePath path) { (TrieNode trieNode, Hash256? address2, TreePath path2) = entry; PersistNodeStartingFrom(trieNode, address2, path2, persistedNodeRecorder, writeFlags, disposeQueue); - })).ToArray()); + }))); disposeQueue.CompleteAdding(); Task.WaitAll(_disposeTasks); diff --git a/tools/Directory.Build.props b/tools/Directory.Build.props new file mode 100644 index 00000000000..1900f35c2c2 --- /dev/null +++ b/tools/Directory.Build.props @@ -0,0 +1,13 @@ + + + + Debug + latest + net9.0 + enable + enable + + true + + + diff --git a/tools/DocGen/DocGen.csproj b/tools/DocGen/DocGen.csproj index bf97292bb15..2cb59f682c1 100644 --- a/tools/DocGen/DocGen.csproj +++ b/tools/DocGen/DocGen.csproj @@ -2,9 +2,6 @@ Exe - net8.0 - enable - enable diff --git a/tools/HiveCompare/HiveCompare/HiveCompare.csproj b/tools/HiveCompare/HiveCompare.csproj similarity index 65% rename from tools/HiveCompare/HiveCompare/HiveCompare.csproj rename to tools/HiveCompare/HiveCompare.csproj index 61ac6a5d41c..4a87ef843db 100644 --- a/tools/HiveCompare/HiveCompare/HiveCompare.csproj +++ b/tools/HiveCompare/HiveCompare.csproj @@ -2,9 +2,6 @@ Exe - net8.0 - enable - enable diff --git a/tools/HiveCompare/HiveCompare.sln b/tools/HiveCompare/HiveCompare.sln index 185a56d11b6..6cbb5651689 100644 --- a/tools/HiveCompare/HiveCompare.sln +++ b/tools/HiveCompare/HiveCompare.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 +# 17 VisualStudioVersion = 17.4.33122.133 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HiveCompare", "HiveCompare\HiveCompare.csproj", "{D4F2D91C-F015-4070-BE34-C98C0E930279}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HiveCompare", "HiveCompare.csproj", "{FCFD5C39-B554-4AA5-98F7-6539A950F8EE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,10 +11,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D4F2D91C-F015-4070-BE34-C98C0E930279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D4F2D91C-F015-4070-BE34-C98C0E930279}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D4F2D91C-F015-4070-BE34-C98C0E930279}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D4F2D91C-F015-4070-BE34-C98C0E930279}.Release|Any CPU.Build.0 = Release|Any CPU + {FCFD5C39-B554-4AA5-98F7-6539A950F8EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FCFD5C39-B554-4AA5-98F7-6539A950F8EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FCFD5C39-B554-4AA5-98F7-6539A950F8EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FCFD5C39-B554-4AA5-98F7-6539A950F8EE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/tools/HiveCompare/HiveCompare/Models/HiveTestResult.cs b/tools/HiveCompare/Models/HiveTestResult.cs similarity index 100% rename from tools/HiveCompare/HiveCompare/Models/HiveTestResult.cs rename to tools/HiveCompare/Models/HiveTestResult.cs diff --git a/tools/HiveCompare/HiveCompare/Program.cs b/tools/HiveCompare/Program.cs similarity index 100% rename from tools/HiveCompare/HiveCompare/Program.cs rename to tools/HiveCompare/Program.cs diff --git a/tools/HiveConsensusWorkflowGenerator/HiveConsensusWorkflowGenerator.csproj b/tools/HiveConsensusWorkflowGenerator/HiveConsensusWorkflowGenerator.csproj index 217877d9884..03a20e3003b 100644 --- a/tools/HiveConsensusWorkflowGenerator/HiveConsensusWorkflowGenerator.csproj +++ b/tools/HiveConsensusWorkflowGenerator/HiveConsensusWorkflowGenerator.csproj @@ -2,9 +2,6 @@ Exe - net8.0 - enable - enable HiveConsensusWorkflowGenerator diff --git a/tools/Nethermind.Tools.Kute/Nethermind.Tools.Kute.csproj b/tools/Nethermind.Tools.Kute/Nethermind.Tools.Kute.csproj index 32fb32af4b3..5acd865395d 100644 --- a/tools/Nethermind.Tools.Kute/Nethermind.Tools.Kute.csproj +++ b/tools/Nethermind.Tools.Kute/Nethermind.Tools.Kute.csproj @@ -2,9 +2,6 @@ Exe - net8.0 - enable - enable diff --git a/tools/SendBlobs/SendBlobs.csproj b/tools/SendBlobs/SendBlobs.csproj index df746e10d83..a122dec45f6 100644 --- a/tools/SendBlobs/SendBlobs.csproj +++ b/tools/SendBlobs/SendBlobs.csproj @@ -1,11 +1,7 @@ - Exe - net8.0 - enable - enable true true *.pdb diff --git a/tools/TxParser/TxParser.csproj b/tools/TxParser/TxParser.csproj index 08e4356ef34..828a5ae38f1 100644 --- a/tools/TxParser/TxParser.csproj +++ b/tools/TxParser/TxParser.csproj @@ -1,5 +1,9 @@ + + Exe + + @@ -9,11 +13,4 @@ - - Exe - net8.0 - enable - enable - -