Add setting for starting Wasabi
MODIFY
WalletWasabi.Gui/Tabs/SettingsView.xaml
WalletWasabi.Gui/Tabs/SettingsView.xaml
</DropDown.ItemTemplate>
</DropDown>
</StackPanel>
- <controls:GroupBox Title="{Binding Network, StringFormat=My Node for \{0\}, Converter={StaticResource NetworkStringConverter}}" TextBlock.FontSize="16" Padding="10" Margin="0 5 10 5">
+ <controls:GroupBox Title="Local Bitcoin Core" TextBlock.FontSize="16" Padding="10" Margin="0 5 10 5">
<StackPanel Orientation="Vertical" Spacing="5">
+ <TextBlock>Use your own or Wasabi's built-in Bitcoin Core.</TextBlock>
+ <StackPanel Margin="0 10" Orientation="Horizontal" Spacing="5">
+ <ToggleButton IsChecked="{Binding StartLocalBitcoinCoreOnStartup}" Content="{Binding StartLocalBitcoinCoreOnStartup, Converter={StaticResource BooleanStringConverter}, ConverterParameter=On:Off}" Margin="0 0 10 0" />
+ <TextBlock VerticalAlignment="Center">Run Bitcoin Core at Wasabi's startup.</TextBlock>
+ </StackPanel>
+ </StackPanel>
+ </controls:GroupBox>
+ <controls:GroupBox Title="{Binding Network, StringFormat=Alternative Block Source for \{0\}, Converter={StaticResource NetworkStringConverter}}" TextBlock.FontSize="16" Padding="10" Margin="0 5 10 5">
+ <StackPanel Orientation="Vertical" Spacing="5">
+ <TextBlock>Set Wasabi to download blocks from a full node you control.</TextBlock>
<StackPanel Margin="0 10" Spacing="5">
<TextBlock>Bitcoin P2P Endpoint</TextBlock>
<TextBox Text="{Binding BitcoinP2pEndPoint}">

MODIFY
WalletWasabi.Gui/Tabs/SettingsViewModel.cs
WalletWasabi.Gui/Tabs/SettingsViewModel.cs
@@ -30,6 +30,7 @@ namespace WalletWasabi.Gui.Tabs
private bool _autocopy;
private bool _customFee;
private bool _useTor;
+ private bool _startLocalBitcoinCoreOnStartup;
private bool _isModified;
private string _somePrivacyLevel;
private string _finePrivacyLevel;
@@ -58,6 +59,7 @@ namespace WalletWasabi.Gui.Tabs
Network = globalConfig.Network;
TorSocks5EndPoint = globalConfig.TorSocks5EndPoint.ToString(-1);
UseTor = globalConfig.UseTor;
+ StartLocalBitcoinCoreOnStartup = globalConfig.StartLocalBitcoinCoreOnStartup;
SomePrivacyLevel = globalConfig.PrivacyLevelSome.ToString();
FinePrivacyLevel = globalConfig.PrivacyLevelFine.ToString();
StrongPrivacyLevel = globalConfig.PrivacyLevelStrong.ToString();
@@ -67,7 +69,8 @@ namespace WalletWasabi.Gui.Tabs
this.WhenAnyValue(
x => x.Network,
- x => x.UseTor)
+ x => x.UseTor,
+ x => x.StartLocalBitcoinCoreOnStartup)
.ObserveOn(RxApp.TaskpoolScheduler)
.Subscribe(_ => Save());
@@ -147,6 +150,7 @@ namespace WalletWasabi.Gui.Tabs
Network = x.Network;
TorSocks5EndPoint = x.TorSocks5EndPoint.ToString(-1);
UseTor = x.UseTor;
+ StartLocalBitcoinCoreOnStartup = x.StartLocalBitcoinCoreOnStartup;
SomePrivacyLevel = x.PrivacyLevelSome.ToString();
FinePrivacyLevel = x.PrivacyLevelFine.ToString();
@@ -231,6 +235,12 @@ namespace WalletWasabi.Gui.Tabs
set => this.RaiseAndSetIfChanged(ref _customFee, value);
}
+ public bool StartLocalBitcoinCoreOnStartup
+ {
+ get => _startLocalBitcoinCoreOnStartup;
+ set => this.RaiseAndSetIfChanged(ref _startLocalBitcoinCoreOnStartup, value);
+ }
+
public bool UseTor
{
get => _useTor;
@@ -318,6 +328,7 @@ namespace WalletWasabi.Gui.Tabs
config.SetP2PEndpoint(p2pEp);
}
config.UseTor = UseTor;
+ config.StartLocalBitcoinCoreOnStartup = StartLocalBitcoinCoreOnStartup;
config.DustThreshold = decimal.TryParse(DustThreshold, out var threshold) ? Money.Coins(threshold) : Config.DefaultDustThreshold;
config.PrivacyLevelSome = int.TryParse(SomePrivacyLevel, out int level) ? level : Config.DefaultPrivacyLevelSome;
config.PrivacyLevelStrong = int.TryParse(StrongPrivacyLevel, out level) ? level : Config.DefaultPrivacyLevelStrong;

Add setting for starting Wasabi