Your node is synching the entire blockchain and validating the consensus rules...
- @foreach (var line in dashboard.GetAll().Where(summary => summary.Network.ShowSyncSummary))
+ @foreach (var provider in SyncSummaryProviders)
{
-
@line.Network.CryptoCode
- @if (line.Status == null)
- {
-
- - The node is offline
- @if (line.Error != null)
- {
- - Last error: @line.Error
- }
-
- }
- else
- {
-
- - NBXplorer headers height: @line.Status.ChainHeight
- @if (line.Status.BitcoinStatus == null)
- {
- if (line.State == BTCPayServer.HostedServices.NBXplorerState.Synching)
- {
- - The node is starting...
- }
- else
- {
- - The node is offline
- @if (line.Error != null)
- {
- - Last error: @line.Error
- }
- }
- }
- else if (line.Status.BitcoinStatus.IsSynched)
- {
- - The node is synchronized (Height: @line.Status.BitcoinStatus.Headers)
- @if (line.Status.BitcoinStatus.IsSynched &&
- line.Status.SyncHeight.HasValue &&
- line.Status.SyncHeight.Value < line.Status.BitcoinStatus.Headers)
- {
- - NBXplorer is synchronizing... (Height: @line.Status.SyncHeight.Value)
- }
- }
- else
- {
- - Node headers height: @line.Status.BitcoinStatus.Headers
- - Validated blocks: @line.Status.BitcoinStatus.Blocks
- }
-
- @if (!line.Status.IsFullySynched && line.Status.BitcoinStatus != null)
- {
-
-
- @((int)(line.Status.BitcoinStatus.VerificationProgress * 100))%
-
-
- }
- }
+
}
-
-
Watch this video to understand the importance of blockchain synchronization.
diff --git a/BTCPayServer/Views/Shared/NBXSyncSummary.cshtml b/BTCPayServer/Views/Shared/NBXSyncSummary.cshtml
new file mode 100644
index 000000000..b5f9c4954
--- /dev/null
+++ b/BTCPayServer/Views/Shared/NBXSyncSummary.cshtml
@@ -0,0 +1,60 @@
+@inject BTCPayServer.HostedServices.NBXplorerDashboard dashboard;
+@foreach (var line in dashboard.GetAll().Where(summary => summary.Network.ShowSyncSummary))
+{
+
@line.Network.CryptoCode
+ @if (line.Status == null)
+ {
+
+ - The node is offline
+ @if (line.Error != null)
+ {
+ - Last error: @line.Error
+ }
+
+ }
+ else
+ {
+
+ - NBXplorer headers height: @line.Status.ChainHeight
+ @if (line.Status.BitcoinStatus == null)
+ {
+ if (line.State == BTCPayServer.HostedServices.NBXplorerState.Synching)
+ {
+ - The node is starting...
+ }
+ else
+ {
+ - The node is offline
+ @if (line.Error != null)
+ {
+ - Last error: @line.Error
+ }
+ }
+ }
+ else if (line.Status.BitcoinStatus.IsSynched)
+ {
+ - The node is synchronized (Height: @line.Status.BitcoinStatus.Headers)
+ @if (line.Status.BitcoinStatus.IsSynched &&
+ line.Status.SyncHeight.HasValue &&
+ line.Status.SyncHeight.Value < line.Status.BitcoinStatus.Headers)
+ {
+ - NBXplorer is synchronizing... (Height: @line.Status.SyncHeight.Value)
+ }
+ }
+ else
+ {
+ - Node headers height: @line.Status.BitcoinStatus.Headers
+ - Validated blocks: @line.Status.BitcoinStatus.Blocks
+ }
+
+ @if (!line.Status.IsFullySynched && line.Status.BitcoinStatus != null)
+ {
+
+
+ @((int) (line.Status.BitcoinStatus.VerificationProgress * 100))%
+
+
+ }
+ }
+}
diff --git a/amd64.Dockerfile b/amd64.Dockerfile
index 86ba2bf64..0dbff06db 100644
--- a/amd64.Dockerfile
+++ b/amd64.Dockerfile
@@ -1,5 +1,6 @@
FROM mcr.microsoft.com/dotnet/core/sdk:3.1.202 AS builder
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+ARG CONFIGURATION_NAME=Release
WORKDIR /source
COPY nuget.config nuget.config
COPY Build/Common.csproj Build/Common.csproj
@@ -15,7 +16,7 @@ COPY BTCPayServer.Data/. BTCPayServer.Data/.
COPY BTCPayServer.Client/. BTCPayServer.Client/.
COPY BTCPayServer/. BTCPayServer/.
COPY Build/Version.csproj Build/Version.csproj
-RUN cd BTCPayServer && dotnet publish --output /app/ --configuration Release
+RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1.4-buster-slim
diff --git a/arm32v7.Dockerfile b/arm32v7.Dockerfile
index d4d197291..1789b7c35 100644
--- a/arm32v7.Dockerfile
+++ b/arm32v7.Dockerfile
@@ -1,6 +1,7 @@
# This is a manifest image, will pull the image with the same arch as the builder machine
FROM mcr.microsoft.com/dotnet/core/sdk:3.1.202 AS builder
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+ARG CONFIGURATION_NAME=Release
RUN apt-get update \
&& apt-get install -qq --no-install-recommends qemu qemu-user-static qemu-user binfmt-support
@@ -19,7 +20,7 @@ COPY BTCPayServer.Data/. BTCPayServer.Data/.
COPY BTCPayServer.Client/. BTCPayServer.Client/.
COPY BTCPayServer/. BTCPayServer/.
COPY Build/Version.csproj Build/Version.csproj
-RUN cd BTCPayServer && dotnet publish --output /app/ --configuration Release
+RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
# Force the builder machine to take make an arm runtime image. This is fine as long as the builder does not run any program
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1.4-buster-slim-arm32v7
diff --git a/arm64v8.Dockerfile b/arm64v8.Dockerfile
index 642513d45..a48af6009 100644
--- a/arm64v8.Dockerfile
+++ b/arm64v8.Dockerfile
@@ -1,6 +1,8 @@
# This is a manifest image, will pull the image with the same arch as the builder machine
FROM mcr.microsoft.com/dotnet/core/sdk:3.1.202 AS builder
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+ARG CONFIGURATION_NAME=Release
+ENV LC_ALL en_US.UTF-8
RUN apt-get update \
&& apt-get install -qq --no-install-recommends qemu qemu-user-static qemu-user binfmt-support
@@ -19,7 +21,7 @@ COPY BTCPayServer.Data/. BTCPayServer.Data/.
COPY BTCPayServer.Client/. BTCPayServer.Client/.
COPY BTCPayServer/. BTCPayServer/.
COPY Build/Version.csproj Build/Version.csproj
-RUN cd BTCPayServer && dotnet publish --output /app/ --configuration Release
+RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
# Force the builder machine to take make an arm runtime image. This is fine as long as the builder does not run any program
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1.4-buster-slim-arm64v8
diff --git a/btcpayserver.sln b/btcpayserver.sln
index 14b199bf7..088b63e70 100644
--- a/btcpayserver.sln
+++ b/btcpayserver.sln
@@ -36,6 +36,7 @@ Global
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
+ Altcoins-Release|Any CPU = Altcoins-Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{949A0870-8D8C-4DE5-8845-DDD560489177}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -50,6 +51,8 @@ Global
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x64.Build.0 = Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x86.ActiveCfg = Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x86.Build.0 = Release|Any CPU
+ {949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -62,6 +65,8 @@ Global
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x64.Build.0 = Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x86.ActiveCfg = Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x86.Build.0 = Release|Any CPU
+ {B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -74,6 +79,8 @@ Global
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x64.Build.0 = Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x86.ActiveCfg = Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x86.Build.0 = Release|Any CPU
+ {6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -86,6 +93,8 @@ Global
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x64.Build.0 = Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x86.ActiveCfg = Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x86.Build.0 = Release|Any CPU
+ {4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -98,6 +107,8 @@ Global
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x64.Build.0 = Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x86.ActiveCfg = Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x86.Build.0 = Release|Any CPU
+ {4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -110,6 +121,8 @@ Global
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x64.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x86.ActiveCfg = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x86.Build.0 = Release|Any CPU
+ {21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
+ {21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE