org.bitcoinj.core.Transaction.getFee()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(108)

本文整理了Java中org.bitcoinj.core.Transaction.getFee()方法的一些代码示例,展示了Transaction.getFee()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.getFee()方法的具体详情如下:
包路径:org.bitcoinj.core.Transaction
类名称:Transaction
方法名:getFee

Transaction.getFee介绍

[英]The transaction fee is the difference of the value of all inputs and the value of all outputs. Currently, the fee can only be determined for transactions created by us.
[中]交易费用是所有投入价值与所有产出价值之差。目前,费用只能针对我们创建的交易确定。

代码示例

代码示例来源:origin: openwalletGH/openwallet-android

@Override
@Nullable
public Value getFee() {
  return isTrimmed ? fee : type.value(tx.getFee());
}

代码示例来源:origin: Coinomi/coinomi-android

@Override
@Nullable
public Value getFee() {
  return isTrimmed ? fee : type.value(tx.getFee());
}

代码示例来源:origin: fr.acinq/bitcoinj-core

req.missingSigsMode = Wallet.MissingSigsMode.USE_DUMMY_SIG;
feePaidForPayment = req.tx.getFee();
log.info("Calculated fee is {}", feePaidForPayment);
if (feePaidForPayment.compareTo(bestValueToMe) > 0) {

代码示例来源:origin: fr.acinq/bitcoinj-core

req.missingSigsMode = Wallet.MissingSigsMode.USE_DUMMY_SIG;
feePaidForPayment = req.tx.getFee();
log.info("Calculated fee is {}", feePaidForPayment);
if (feePaidForPayment.compareTo(bestValueToMe) > 0) {

代码示例来源:origin: cash.bitcoinj/bitcoinj-core

req.missingSigsMode = Wallet.MissingSigsMode.USE_DUMMY_SIG;
feePaidForPayment = req.tx.getFee();
log.info("Calculated fee is {}", feePaidForPayment);
if (feePaidForPayment.compareTo(bestValueToMe) > 0) {

代码示例来源:origin: thinkmobiles/BitcoinJ-Wallet-Sample-Android

private void setupWalletListeners(Wallet wallet) {
    wallet.addCoinsReceivedEventListener((wallet1, tx, prevBalance, newBalance) -> {
      view.displayMyBalance(wallet.getBalance().toFriendlyString());
      if(tx.getPurpose() == Transaction.Purpose.UNKNOWN)
      view.showToastMessage("Receive " + newBalance.minus(prevBalance).toFriendlyString());
    });
    wallet.addCoinsSentEventListener((wallet12, tx, prevBalance, newBalance) -> {
      view.displayMyBalance(wallet.getBalance().toFriendlyString());
      view.clearAmount();
      view.displayRecipientAddress(null);
      view.showToastMessage("Sent " + prevBalance.minus(newBalance).minus(tx.getFee()).toFriendlyString());
    });
  }
}

代码示例来源:origin: greenaddress/GreenBits

@Test
public void lowerThanDefaultFee() throws InsufficientMoneyException {
  int feeFactor = 10;
  Coin fee = Transaction.DEFAULT_TX_FEE.divide(feeFactor);
  receiveATransactionAmount(wallet, myAddress, Coin.COIN);
  SendRequest req = SendRequest.to(myAddress, Coin.CENT);
  req.feePerKb = fee;
  wallet.completeTx(req);
  assertEquals(Coin.valueOf(11350).divide(feeFactor), req.tx.getFee());
  wallet.commitTx(req.tx);
  SendRequest emptyReq = SendRequest.emptyWallet(myAddress);
  emptyReq.feePerKb = fee;
  emptyReq.ensureMinRequiredFee = true;
  emptyReq.emptyWallet = true;
  emptyReq.coinSelector = AllowUnconfirmedCoinSelector.get();
  wallet.completeTx(emptyReq);
  assertEquals(Transaction.REFERENCE_DEFAULT_MIN_TX_FEE, emptyReq.tx.getFee());
  wallet.commitTx(emptyReq.tx);
}

代码示例来源:origin: greenaddress/GreenBits

@Test
public void higherThanDefaultFee() throws InsufficientMoneyException {
  int feeFactor = 10;
  Coin fee = Transaction.DEFAULT_TX_FEE.multiply(feeFactor);
  receiveATransactionAmount(wallet, myAddress, Coin.COIN);
  SendRequest req = SendRequest.to(myAddress, Coin.CENT);
  req.feePerKb = fee;
  wallet.completeTx(req);
  assertEquals(Coin.valueOf(11350).multiply(feeFactor), req.tx.getFee());
  wallet.commitTx(req.tx);
  SendRequest emptyReq = SendRequest.emptyWallet(myAddress);
  emptyReq.feePerKb = fee;
  emptyReq.emptyWallet = true;
  emptyReq.coinSelector = AllowUnconfirmedCoinSelector.get();
  wallet.completeTx(emptyReq);
  assertEquals(Coin.valueOf(171000), emptyReq.tx.getFee());
  wallet.commitTx(emptyReq.tx);
}

代码示例来源:origin: greenaddress/GreenBits

@Test
public void transactionGetFeeTest() throws Exception {
  // Prepare wallet to spend
  StoredBlock block = new StoredBlock(makeSolvedTestBlock(blockStore, OTHER_ADDRESS), BigInteger.ONE, 1);
  Transaction tx = createFakeTx(PARAMS, COIN, myAddress);
  wallet.receiveFromBlock(tx, block, AbstractBlockChain.NewBlockType.BEST_CHAIN, 0);
  // Create a transaction
  SendRequest request = SendRequest.to(OTHER_ADDRESS, CENT);
  request.feePerKb = Transaction.DEFAULT_TX_FEE;
  wallet.completeTx(request);
  assertEquals(Coin.valueOf(11350), request.tx.getFee());
}

代码示例来源:origin: cash.bitcoinj/bitcoinj-core

req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
multisigContract = req.tx;

代码示例来源:origin: fr.acinq/bitcoinj-core

if (userKey != null) req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
multisigContract = req.tx;

代码示例来源:origin: greenaddress/GreenBits

if (userKey != null) req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
multisigContract = req.tx;

代码示例来源:origin: HashEngineering/dashj

req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
multisigContract = req.tx;

代码示例来源:origin: greenaddress/GreenBits

if (userKey != null) req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
contract = req.tx;

代码示例来源:origin: greenaddress/GreenBits

@Test
public void testCategory2WithChange() throws Exception {
  // Specifically target case 2 with significant change
  // Generate a ton of small outputs
  StoredBlock block = new StoredBlock(makeSolvedTestBlock(blockStore, OTHER_ADDRESS), BigInteger.ONE, 1);
  int i = 0;
  while (i <= CENT.divide(Transaction.REFERENCE_DEFAULT_MIN_TX_FEE.multiply(10))) {
    Transaction tx = createFakeTxWithChangeAddress(PARAMS, Transaction.REFERENCE_DEFAULT_MIN_TX_FEE.multiply(10), myAddress, OTHER_ADDRESS);
    tx.getInput(0).setSequenceNumber(i++); // Keep every transaction unique
    wallet.receiveFromBlock(tx, block, AbstractBlockChain.NewBlockType.BEST_CHAIN, i);
  }
  // The selector will choose 2 with MIN_TX_FEE fee
  SendRequest request1 = SendRequest.to(OTHER_ADDRESS, CENT.add(SATOSHI));
  request1.ensureMinRequiredFee = true;
  wallet.completeTx(request1);
  assertEquals(Transaction.REFERENCE_DEFAULT_MIN_TX_FEE, request1.tx.getFee());
  assertEquals(request1.tx.getInputs().size(), i); // We should have spent all inputs
  assertEquals(2, request1.tx.getOutputs().size()); // and gotten change back
}

代码示例来源:origin: fr.acinq/bitcoinj-core

if (userKey != null) req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
contract = req.tx;

代码示例来源:origin: HashEngineering/dashj

req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
contract = req.tx;

代码示例来源:origin: cash.bitcoinj/bitcoinj-core

req.aesKey = userKey;
wallet.completeTx(req);
Coin multisigFee = req.tx.getFee();
contract = req.tx;

代码示例来源:origin: greenaddress/GreenBits

request1.ensureMinRequiredFee = true;
wallet.completeTx(request1);
assertEquals(SATOSHI, request1.tx.getFee());
request2.ensureMinRequiredFee = true;
wallet.completeTx(request2);
assertEquals(SATOSHI, request2.tx.getFee());
assertEquals(request2.tx.getInputs().size(), i - 1); // We should have spent all inputs - 1
request3.ensureMinRequiredFee = true;
wallet.completeTx(request3);
assertEquals(SATOSHI, request3.tx.getFee());
assertEquals(request3.tx.getInputs().size(), i - 2); // We should have spent all inputs - 2
request4.ensureMinRequiredFee = true;
wallet.completeTx(request4);
assertEquals(SATOSHI, request4.tx.getFee());
assertEquals(request4.tx.getInputs().size(), i - 2); // We should have spent all inputs - 2
request5.ensureMinRequiredFee = true;
wallet.completeTx(request5);
assertEquals(SATOSHI, request5.tx.getFee());
assertEquals(1, request5.tx.getOutputs().size()); // We should have no change output
request6.ensureMinRequiredFee = true;
wallet.completeTx(request6);
assertEquals(ZERO, request6.tx.getFee());
assertEquals(2, request6.tx.getOutputs().size()); // We should have a change output

代码示例来源:origin: greenaddress/GreenBits

SendRequest request = SendRequest.emptyWallet(OTHER_ADDRESS);
wallet.completeTx(request);
assertEquals(ZERO, request.tx.getFee());
wallet.commitTx(request.tx);
assertEquals(ZERO, wallet.getBalance());
request = SendRequest.emptyWallet(OTHER_ADDRESS);
wallet.completeTx(request);
assertEquals(ZERO, request.tx.getFee());
wallet.commitTx(request.tx);
assertEquals(ZERO, wallet.getBalance());
try {
  request = SendRequest.emptyWallet(OTHER_ADDRESS);
  assertEquals(ZERO, request.tx.getFee());
  wallet.completeTx(request);
  fail();

相关文章

微信公众号

最新文章

更多

Transaction类方法