本文整理汇总了Java中com.google.bitcoin.core.InsufficientMoneyException类的典型用法代码示例。如果您正苦于以下问题:Java InsufficientMoneyException类的具体用法?Java InsufficientMoneyException怎么用?Java InsufficientMoneyException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
InsufficientMoneyException类属于com.google.bitcoin.core包,在下文中一共展示了InsufficientMoneyException类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: makePaymentTo
import com.google.bitcoin.core.InsufficientMoneyException; //导入依赖的package包/类
public void makePaymentTo() throws InsufficientMoneyException {
// Add new key
final ECKey newKey = new ECKey();
bitcoinListener.getKit().wallet().addKey(newKey);
final Wallet.SendRequest req = Wallet.SendRequest.to(bitcoinListener.getNetworkParameters(), newKey, BigInteger.valueOf(1000000));
final NetworkParameters params = bitcoinListener.getNetworkParameters();
logger.info("Added new key to receive payment " + newKey.toAddress(params));
bitcoinListener.getKit().wallet().sendCoins(req);
}
示例2: sendCoinsOffline
import com.google.bitcoin.core.InsufficientMoneyException; //导入依赖的package包/类
public final void sendCoinsOffline(@Nonnull final SendRequest sendRequest)
{
backgroundHandler.post(new Runnable()
{
@Override
public void run()
{
try {
final Transaction transaction = wallet.sendCoinsOffline(sendRequest); // can take long
callbackHandler.post(new Runnable()
{
@Override
public void run()
{
if (transaction != null)
onSuccess(transaction);
else
onFailure();
}
});
} catch(InsufficientMoneyException x)
{
//HashEngineering added this
}
}
});
}
示例3: PaymentChannelClientConnection
import com.google.bitcoin.core.InsufficientMoneyException; //导入依赖的package包/类
/**
* Attempts to open a new connection to and open a payment channel with the given host and port, blocking until the
* connection is open
*
* @param server The host/port pair where the server is listening.
* @param timeoutSeconds The connection timeout and read timeout during initialization. This should be large enough
* to accommodate ECDSA signature operations and network latency.
* @param wallet The wallet which will be paid from, and where completed transactions will be committed.
* Must already have a {@link StoredPaymentChannelClientStates} object in its extensions set.
* @param myKey A freshly generated keypair used for the multisig contract and refund output.
* @param maxValue The maximum value this channel is allowed to request
* @param serverId A unique ID which is used to attempt reopening of an existing channel.
* This must be unique to the server, and, if your application is exposing payment channels to some
* API, this should also probably encompass some caller UID to avoid applications opening channels
* which were created by others.
*
* @throws IOException if there's an issue using the network.
* @throws ValueOutOfRangeException if the balance of wallet is lower than maxValue.
*/
public PaymentChannelClientConnection(InetSocketAddress server, int timeoutSeconds, Wallet wallet, ECKey myKey,
BigInteger maxValue, String serverId) throws IOException, ValueOutOfRangeException {
// Glue the object which vends/ingests protobuf messages in order to manage state to the network object which
// reads/writes them to the wire in length prefixed form.
channelClient = new PaymentChannelClient(wallet, myKey, maxValue, Sha256Hash.create(serverId.getBytes()),
new PaymentChannelClient.ClientConnection() {
@Override
public void sendToServer(Protos.TwoWayChannelMessage msg) {
wireParser.write(msg);
}
@Override
public void destroyConnection(PaymentChannelCloseException.CloseReason reason) {
channelOpenFuture.setException(new PaymentChannelCloseException("Payment channel client requested that the connection be closed: " + reason, reason));
wireParser.closeConnection();
}
@Override
public void channelOpen(boolean wasInitiated) {
wireParser.setSocketTimeout(0);
// Inform the API user that we're done and ready to roll.
channelOpenFuture.set(PaymentChannelClientConnection.this);
}
});
// And glue back in the opposite direction - network to the channelClient.
wireParser = new ProtobufParser<Protos.TwoWayChannelMessage>(new ProtobufParser.Listener<Protos.TwoWayChannelMessage>() {
@Override
public void messageReceived(ProtobufParser handler, Protos.TwoWayChannelMessage msg) {
try {
channelClient.receiveMessage(msg);
} catch (InsufficientMoneyException e) {
// We should only get this exception during INITIATE, so channelOpen wasn't called yet.
channelOpenFuture.setException(e);
}
}
@Override
public void connectionOpen(ProtobufParser handler) {
channelClient.connectionOpen();
}
@Override
public void connectionClosed(ProtobufParser handler) {
channelClient.connectionClosed();
channelOpenFuture.setException(new PaymentChannelCloseException("The TCP socket died",
PaymentChannelCloseException.CloseReason.CONNECTION_CLOSED));
}
}, Protos.TwoWayChannelMessage.getDefaultInstance(), Short.MAX_VALUE, timeoutSeconds*1000);
// Initiate the outbound network connection. We don't need to keep this around. The wireParser object will handle
// things from here on out.
new NioClient(server, wireParser, timeoutSeconds * 1000);
}
示例4: main
import com.google.bitcoin.core.InsufficientMoneyException; //导入依赖的package包/类
public static void main(String[] args) throws InsufficientMoneyException {
final BitcoinConfig config = new BitcoinConfig() {
@Override
public boolean shouldGenerateKey() {
return false;
}
@Override
public int getConfidenceBlockDepth() {
return 1;
}
@Override
public String getInstallDirectory() {
return DEFAULT_INSTALL_DIR;
}
@Override
public String getNetworkName() {
return NETWORK;
}
@Override
public List<String> getKillbillBitcoinPlugins() {
return Collections.singletonList("killbill-coinbase");
}
@Override
public String getForwardBankHash() {
return null;
}
@Override
public Long getMinForwardBalance() {
return null;
}
@Override
public TimeSpan getForwardBankInterval() {
return null;
}
};
final TestBitcoinListener test = new TestBitcoinListener(config);
test.initializeBitcoinListener();
test.makePaymentTo();
}
示例5: receiveMessage
import com.google.bitcoin.core.InsufficientMoneyException; //导入依赖的package包/类
/**
* Called when a message is received from the server. Processes the given message and generates events based on its
* content.
*/
void receiveMessage(Protos.TwoWayChannelMessage msg) throws InsufficientMoneyException;