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 ExpressChainManager(IFileSystem fileSystem, ExpressChain chain, uint?secondsPerBlock = null) { this.fileSystem = fileSystem; this.chain = chain; uint secondsPerBlockResult = secondsPerBlock.HasValue ? secondsPerBlock.Value : chain.TryReadSetting <uint>("chain.SecondsPerBlock", uint.TryParse, out var secondsPerBlockSetting) ? secondsPerBlockSetting : 0; this.ProtocolSettings = chain.GetProtocolSettings(secondsPerBlockResult); }
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"))); }