예제 #1
0
        protected async Task NextRound(ECKeyPair keyPair)
        {
            var miner = GetConsensusContractTester(keyPair);
            var round = await miner.GetCurrentRoundInformation.CallAsync(new Empty());

            round.GenerateNextRoundInformation(
                StartTimestamp.ToDateTime().AddMilliseconds(round.TotalMilliseconds()).ToTimestamp(), StartTimestamp,
                out var nextRound);
            await miner.NextRound.SendAsync(nextRound);
        }
        internal async Task InitializeAElfConsensus()
        {
            {
                var result = await AEDPoSContractStub.InitialAElfConsensusContract.SendAsync(
                    new InitialAElfConsensusContractInput
                {
                    TimeEachTerm          = 604800L,
                    MinerIncreaseInterval = BingoGameContractTestConstants.MinerIncreaseInterval
                });

                CheckResult(result.TransactionResult);
            }
            {
                var result = await AEDPoSContractStub.FirstRound.SendAsync(
                    new MinerList
                {
                    Pubkeys = { InitialCoreDataCenterKeyPairs.Select(p => ByteString.CopyFrom(p.PublicKey)) }
                }.GenerateFirstRoundOfNewTerm(BingoGameContractTestConstants.MiningInterval,
                                              StartTimestamp.ToDateTime()));

                CheckResult(result.TransactionResult);
            }
        }