当前位置: 首页>>代码示例>>Java>>正文


Java TransactionBroadcast类代码示例

本文整理汇总了Java中org.bitcoinj.core.TransactionBroadcast的典型用法代码示例。如果您正苦于以下问题:Java TransactionBroadcast类的具体用法?Java TransactionBroadcast怎么用?Java TransactionBroadcast使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TransactionBroadcast类属于org.bitcoinj.core包,在下文中一共展示了TransactionBroadcast类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: sendBroadcastAnnouncement

import org.bitcoinj.core.TransactionBroadcast; //导入依赖的package包/类
public void sendBroadcastAnnouncement(BroadcastAnnouncement ba, File f, ProofMessage pm, int lockTime) throws InsufficientMoneyException {
	//build transaction
	Transaction tx = new Transaction(params);
	
	Script s = ba.buildScript();
	System.out.println("Script size is " + s.SIG_SIZE);
	//System.out.println(s.getScriptType());
	ECKey psnymKey = new ECKey();
	long unixTime = System.currentTimeMillis() / 1000L;
	//TODO use bitcoin nets median time
	tx.setLockTime(CLTVScriptPair.currentBitcoinBIP113Time(bc)-1);
	CLTVScriptPair sp = new CLTVScriptPair(psnymKey, CLTVScriptPair.currentBitcoinBIP113Time(bc)+lockTime);
	w.importKey(psnymKey);
	tx.addOutput(new TransactionOutput(params, tx, pm.getLastTransactionOutput().getValue().subtract(estimateBroadcastFee()), sp.getPubKeyScript().getProgram()));
	tx.addOutput(Coin.ZERO, s);
	tx.addInput(pm.getLastTransactionOutput());
	tx.getInput(0).setSequenceNumber(3); //the concrete value doesn't matter, this is just for cltv
	tx.getInput(0).setScriptSig(pm.getScriptPair().calculateSigScript(tx, 0, w));
	
	try {
		w.commitTx(tx);
		w.saveToFile(f);
	} catch (IOException e1) {
		e1.printStackTrace();
	}
	
	TransactionBroadcast broadcast = pg.broadcastTransaction(tx);
	pm.addTransaction(tx, 0, sp);
	pm.writeToFile();
	System.out.println("save broadcast announcement to file");
	
	

}
 
开发者ID:kit-tm,项目名称:bitnym,代码行数:35,代码来源:TransactionGenerator.java

示例2: broadcastTransaction

import org.bitcoinj.core.TransactionBroadcast; //导入依赖的package包/类
public ListenableFuture<Transaction> broadcastTransaction(final Transaction tx) {
    TransactionBroadcast broadcast = peerGroup.broadcastTransaction(tx);
    broadcast.setProgressCallback(new TransactionBroadcast.ProgressCallback() {
        final String txHash = tx.getHashAsString();
        @Override
        public void onBroadcastProgress(double progress) {
            Log.d(TAG, "Transaction broadcast - tx: "+txHash+", progress: " + progress);
        }
    });
    return broadcast.future();
}
 
开发者ID:coinblesk,项目名称:coinblesk-client-gui,代码行数:12,代码来源:WalletService.java

示例3: broadcastTransaction

import org.bitcoinj.core.TransactionBroadcast; //导入依赖的package包/类
public TransactionBroadcast broadcastTransaction(Transaction tx) {
    Log.i(TAG,"sendTransaction " +tx );
    TransactionBroadcast transactionBroadcast = peerGroup.broadcastTransaction(tx);
    walletObservable.setState(WalletObservable.State.PENDING);
    walletObservable.notifyObservers();
    return transactionBroadcast;
}
 
开发者ID:RCasatta,项目名称:EternityWallAndroid,代码行数:8,代码来源:EWWalletService.java

示例4: broadCastAsync

import org.bitcoinj.core.TransactionBroadcast; //导入依赖的package包/类
public ListenableFuture<Transaction> broadCastAsync(final Transaction transaction) {
	// Fake transaction for when testing.
	// peerGroup.broadcastTransaction would otherwise fail, as it waits for at least 1 connection which will
	// never happen.
	if (appConfig.getBitcoinNet().equals(BitcoinNet.UNITTEST)) {
		SettableFuture<Transaction> future = SettableFuture.create();
		future.set(transaction);
		return TransactionBroadcast.createMockBroadcast(transaction, future).future();
	} else {
		return peerGroup.broadcastTransaction(transaction).future();
	}
}
 
开发者ID:coinblesk,项目名称:coinblesk-server,代码行数:13,代码来源:WalletService.java


注:本文中的org.bitcoinj.core.TransactionBroadcast类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。