예제 #1
0
        private async Task <ClientStartDealParams> CreateTTGraphsyncClientStartDealParams(ClientStartDealRequest model)
        {
            var dataRef = new TransferDataRef()
            {
                TransferType = TransferType.graphsync.ToString(),
                Root         = new Cid()
                {
                    Value = model.DataCid
                },
            };

            var walletAddress = await _lotusClient.WalletDefaultAddress();

            if (!walletAddress.Success)
            {
                return(null);
            }
            var dealParams = new ClientStartDealParams()
            {
                Data               = dataRef,
                Miner              = model.Miner,
                MinBlocksDuration  = (ulong)model.Duration,
                EpochPrice         = model.Price,
                Wallet             = walletAddress.Result,
                VerifiedDeal       = false,
                ProviderCollateral = "0"
            };

            return(dealParams);
        }
예제 #2
0
        private async Task <ClientStartDealParams> CreateTTManualClientStartDealParams(LotusClient lotusClient, ClientStartDealRequest model, CommPRet commPRet)
        {
            var dataRef = new TransferDataRef()
            {
                TransferType = TransferType.manual.ToString(),
                Root         = new Cid()
                {
                    Value = model.DataCid
                },
                PieceCid  = commPRet.Root,
                PieceSize = commPRet.Size
            };

            var walletAddress = await lotusClient.WalletDefaultAddress();

            if (!walletAddress.Success)
            {
                _logger.LogError(0, "can't get wallet default address.");
                return(null);
            }
            var dealParams = new ClientStartDealParams()
            {
                Data               = dataRef,
                Miner              = model.Miner,
                MinBlocksDuration  = (ulong)model.Duration,
                EpochPrice         = model.Price,
                Wallet             = walletAddress.Result,
                VerifiedDeal       = false,
                ProviderCollateral = "0"
            };

            return(dealParams);
        }