示例#1
0
        public async Task <ChainInitializationData> GetChainInitializationDataAsync(int chainId)
        {
            var chainInitializationInformation =
                await _crossChainRequestService.RequestChainInitializationDataAsync(chainId);

            return(chainInitializationInformation);
        }
        public async Task RequestCrossChainDataTest()
        {
            var crossChainClientCreationContext = new CrossChainClientCreationContext
            {
                LocalChainId          = 0,
                RemoteChainId         = 1,
                IsClientToParentChain = false,
                RemoteServerHost      = "localhost",
                RemoteServerPort      = 5000
            };
            var communicationHelper = GetRequiredService <CrossChainCommunicationTestHelper>();

            communicationHelper.SetClientConnected(crossChainClientCreationContext.RemoteChainId, true);
            await _crossChainClientService.CreateClientAsync(crossChainClientCreationContext);

            _crossChainCacheEntityService.RegisterNewChain(crossChainClientCreationContext.RemoteChainId, 10);
            communicationHelper.CheckClientConnected(-1).ShouldBeFalse();
            await _crossChainRequestService.RequestCrossChainDataFromOtherChainsAsync();

            communicationHelper.CheckClientConnected(-1).ShouldBeTrue();

            var chainInitializationData = await _crossChainRequestService.RequestChainInitializationDataAsync(crossChainClientCreationContext.RemoteChainId);

            chainInitializationData.CreationHeightOnParentChain.ShouldBe(1);
        }