Exemple #1
0
        private static IFullNode GetMainchainFullNode(string[] args)
        {
            var nodeSettings = new NodeSettings(networksSelector: Networks.Stratis, protocolVersion: ProtocolVersion.PROVEN_HEADER_VERSION, args: args)
            {
                MinProtocolVersion = ProtocolVersion.ALT_PROTOCOL_VERSION
            };

            var fedPegOptions = new FederatedPegOptions(
                counterChainNetwork: SidechainNetworks[nodeSettings.Network.NetworkType]()
                );

            IFullNode node = new FullNodeBuilder()
                             .AddCommonFeatures(nodeSettings, fedPegOptions)
                             .UsePosConsensus()
                             .UseWallet()
                             .AddPowPosMining()
                             .Build();

            return(node);
        }
Exemple #2
0
        private static IFullNode GetSidechainFullNode(string[] args)
        {
            var nodeSettings = new NodeSettings(networksSelector: FederatedPegNetwork.NetworksSelector, protocolVersion: ProtocolVersion.ALT_PROTOCOL_VERSION, args: args)
            {
                MinProtocolVersion = ProtocolVersion.ALT_PROTOCOL_VERSION
            };

            var fedPegOptions = new FederatedPegOptions(
                counterChainNetwork: MainChainNetworks[nodeSettings.Network.NetworkType]()
                );

            IFullNode node = new FullNodeBuilder()
                             .AddCommonFeatures(nodeSettings, fedPegOptions)
                             .AddSmartContracts(options =>
            {
                options.UseReflectionExecutor();
            })
                             .UseSmartContractWallet()
                             .UseFederatedPegPoAMining()
                             .Build();

            return(node);
        }
Exemple #3
0
 internal static IFullNodeBuilder AddCommonFeatures(this IFullNodeBuilder fullNodeBuilder, NodeSettings nodeSettings, FederatedPegOptions options)
 {
     return(fullNodeBuilder
            .UseNodeSettings(nodeSettings)
            .UseBlockStore()
            .AddFederationGateway(options)
            .UseTransactionNotification()
            .UseBlockNotification()
            .UseApi()
            .UseMempool()
            .AddRPC());
 }