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


Java StoredPaymentChannelClientStates类代码示例

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


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

示例1: run

import com.google.bitcoin.protocols.channels.StoredPaymentChannelClientStates; //导入依赖的package包/类
public void run(final String host) throws Exception {
    // Bring up all the objects we need, create/load a wallet, sync the chain, etc. We override WalletAppKit so we
    // can customize it by adding the extension objects - we have to do this before the wallet file is loaded so
    // the plugin that knows how to parse all the additional data is present during the load.
    appKit = new WalletAppKit(params, new File("."), "payment_channel_example_client") {
        @Override
        protected void addWalletExtensions() {
            // The StoredPaymentChannelClientStates object is responsible for, amongst other things, broadcasting
            // the refund transaction if its lock time has expired. It also persists channels so we can resume them
            // after a restart.
            wallet().addExtension(new StoredPaymentChannelClientStates(wallet(), peerGroup()));
        }
    };
    appKit.startAndWait();
    // We now have active network connections and a fully synced wallet.
    // Add a new key which will be used for the multisig contract.
    appKit.wallet().addKey(myKey);
    appKit.wallet().allowSpendingUnconfirmedTransactions();

    System.out.println(appKit.wallet());

    // Create the object which manages the payment channels protocol, client side. Tell it where the server to
    // connect to is, along with some reasonable network timeouts, the wallet and our temporary key. We also have
    // to pick an amount of value to lock up for the duration of the channel.
    //
    // Note that this may or may not actually construct a new channel. If an existing unclosed channel is found in
    // the wallet, then it'll re-use that one instead.
    final int timeoutSecs = 15;
    final InetSocketAddress server = new InetSocketAddress(host, 4242);

    waitForSufficientBalance(channelSize);
    final String channelID = host;
    // Do this twice as each one sends 1/10th of a bitcent 5 times, so to send a bitcent, we do it twice. This
    // demonstrates resuming a channel that wasn't closed yet. It should close automatically once we run out
    // of money on the channel.
    log.info("Round one ...");
    openAndSend(timeoutSecs, server, channelID);
    log.info("Round two ...");
    log.info(appKit.wallet().toString());
    openAndSend(timeoutSecs, server, channelID);
    log.info("Waiting ...");
    Thread.sleep(60 * 60 * 1000);  // 1 hour.
    log.info("Stopping ...");
    appKit.stopAndWait();
}
 
开发者ID:HashEngineering,项目名称:megacoinj,代码行数:46,代码来源:ExamplePaymentChannelClient.java

示例2: run

import com.google.bitcoin.protocols.channels.StoredPaymentChannelClientStates; //导入依赖的package包/类
public void run(final String host) throws Exception {
    // Bring up all the objects we need, create/load a wallet, sync the chain, etc. We override WalletAppKit so we
    // can customize it by adding the extension objects - we have to do this before the wallet file is loaded so
    // the plugin that knows how to parse all the additional data is present during the load.
    appKit = new WalletAppKit(params, new File("."), "payment_channel_example_client") {
        @Override
        protected void addWalletExtensions() {
            // The StoredPaymentChannelClientStates object is responsible for, amongst other things, broadcasting
            // the refund transaction if its lock time has expired. It also persists channels so we can resume them
            // after a restart.
            wallet().addExtension(new StoredPaymentChannelClientStates(wallet(), peerGroup()));
        }
    };
    appKit.startAsync();
    appKit.awaitRunning();
    // We now have active network connections and a fully synced wallet.
    // Add a new key which will be used for the multisig contract.
    appKit.wallet().addKey(myKey);
    appKit.wallet().allowSpendingUnconfirmedTransactions();

    System.out.println(appKit.wallet());

    // Create the object which manages the payment channels protocol, client side. Tell it where the server to
    // connect to is, along with some reasonable network timeouts, the wallet and our temporary key. We also have
    // to pick an amount of value to lock up for the duration of the channel.
    //
    // Note that this may or may not actually construct a new channel. If an existing unclosed channel is found in
    // the wallet, then it'll re-use that one instead.
    final int timeoutSecs = 15;
    final InetSocketAddress server = new InetSocketAddress(host, 4242);

    waitForSufficientBalance(channelSize);
    final String channelID = host;
    // Do this twice as each one sends 1/10th of a bitcent 5 times, so to send a bitcent, we do it twice. This
    // demonstrates resuming a channel that wasn't closed yet. It should close automatically once we run out
    // of money on the channel.
    log.info("Round one ...");
    openAndSend(timeoutSecs, server, channelID);
    log.info("Round two ...");
    log.info(appKit.wallet().toString());
    openAndSend(timeoutSecs, server, channelID);
    log.info("Waiting ...");
    Thread.sleep(60 * 60 * 1000);  // 1 hour.
    log.info("Stopping ...");
    appKit.stopAsync();
    appKit.awaitTerminated();
}
 
开发者ID:HashEngineering,项目名称:quarkcoinj,代码行数:48,代码来源:ExamplePaymentChannelClient.java


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