static RpcServerSettings GetRpcServerSettings(ExpressChain chain, ExpressConsensusNode node) { var ipAddress = chain.TryReadSetting <IPAddress>("rpc.BindAddress", IPAddress.TryParse, out var bindAddress) ? bindAddress : IPAddress.Loopback; var settings = new Dictionary <string, string>() { { "PluginConfiguration:Network", $"{chain.Network}" }, { "PluginConfiguration:BindAddress", $"{ipAddress}" }, { "PluginConfiguration:Port", $"{node.RpcPort}" } }; if (chain.TryReadSetting <decimal>("rpc.MaxGasInvoke", decimal.TryParse, out var maxGasInvoke)) { settings.Add("PluginConfiguration:MaxGasInvoke", $"{maxGasInvoke}"); } if (chain.TryReadSetting <decimal>("rpc.MaxFee", decimal.TryParse, out var maxFee)) { settings.Add("PluginConfiguration:MaxFee", $"{maxFee}"); } if (chain.TryReadSetting <int>("rpc.MaxIteratorResultItems", int.TryParse, out var maxIteratorResultItems) && maxIteratorResultItems > 0) { settings.Add("PluginConfiguration:MaxIteratorResultItems", $"{maxIteratorResultItems}"); } var config = new ConfigurationBuilder().AddInMemoryCollection(settings).Build(); return(RpcServerSettings.Load(config.GetSection("PluginConfiguration"))); }
public void Constructor_Should_Set_Settings_From_Config() { const string pfxFileName = "pfx"; const int port = 9000; var bindAddress = IPAddress.Loopback.ToString(); var config = Substitute.For <IConfigurationRoot>(); var rpcSection = config.GetSection("CatalystNodeConfiguration").GetSection("Rpc"); rpcSection.GetSection("Port").Value.Returns(port.ToString()); rpcSection.GetSection("PfxFileName").Value.Returns(pfxFileName); rpcSection.GetSection("BindAddress").Value.Returns(bindAddress); var rpcSeverSettings = new RpcServerSettings(config); rpcSeverSettings.NodeConfig.Should().Be(config); rpcSeverSettings.PfxFileName.Should().Be(pfxFileName); rpcSeverSettings.Port.Should().Be(port); rpcSeverSettings.BindAddress.Should().Be(IPAddress.Parse(bindAddress)); }
static RpcServerSettings GetRpcServerSettings(ExpressChain chain, ExpressConsensusNode node) { var settings = new Dictionary <string, string>() { { "PluginConfiguration:Network", $"{chain.Network}" }, { "PluginConfiguration:BindAddress", $"{IPAddress.Loopback}" }, { "PluginConfiguration:Port", $"{node.RpcPort}" } }; if (chain.TryReadSetting <long>("rpc.MaxGasInvoke", long.TryParse, out var maxGasInvoke)) { settings.Add("PluginConfiguration:MaxGasInvoke", $"{maxGasInvoke}"); } if (chain.TryReadSetting <long>("rpc.MaxFee", long.TryParse, out var maxFee)) { settings.Add("PluginConfiguration:MaxFee", $"{maxFee}"); } var config = new ConfigurationBuilder().AddInMemoryCollection(settings).Build(); return(RpcServerSettings.Load(config.GetSection("PluginConfiguration"))); }