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


Java Protos.Extension方法代码示例

本文整理汇总了Java中org.bitcoinj.wallet.Protos.Extension方法的典型用法代码示例。如果您正苦于以下问题:Java Protos.Extension方法的具体用法?Java Protos.Extension怎么用?Java Protos.Extension使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.bitcoinj.wallet.Protos的用法示例。


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

示例1: loadExtensions

import org.bitcoinj.wallet.Protos; //导入方法依赖的package包/类
private void loadExtensions(Wallet wallet, Protos.Wallet walletProto) throws UnreadableWalletException {
    final Map<String, WalletExtension> extensions = wallet.getExtensions();
    for (Protos.Extension extProto : walletProto.getExtensionList()) {
        String id = extProto.getId();
        WalletExtension extension = extensions.get(id);
        if (extension == null) {
            if (extProto.getMandatory()) {
                if (requireMandatoryExtensions)
                    throw new UnreadableWalletException("Unknown mandatory extension in wallet: " + id);
                else
                    log.error("Unknown extension in wallet {}, ignoring", id);
            }
        } else {
            log.info("Loading wallet extension {}", id);
            try {
                extension.deserializeWalletExtension(wallet, extProto.getData().toByteArray());
            } catch (Exception e) {
                if (extProto.getMandatory() && requireMandatoryExtensions)
                    throw new UnreadableWalletException("Could not parse mandatory extension in wallet: " + id);
                else
                    log.error("Error whilst reading extension {}, ignoring: {}", id, e);
            }
        }
    }
}
 
开发者ID:HashEngineering,项目名称:megacoinj,代码行数:26,代码来源:WalletProtobufSerializer.java

示例2: loadExtensions

import org.bitcoinj.wallet.Protos; //导入方法依赖的package包/类
private static void loadExtensions(Wallet wallet, Protos.Wallet walletProto) throws UnreadableWalletException {
    final Map<String, WalletExtension> extensions = wallet.getExtensions();
    for (Protos.Extension extProto : walletProto.getExtensionList()) {
        String id = extProto.getId();
        WalletExtension extension = extensions.get(id);
        if (extension == null) {
            if (extProto.getMandatory()) {
                // If the extension is the ORG_MULTIBIT_WALLET_PROTECT or ORG_MULTIBIT_WALLET_PROTECT_2 then we know about that.
                // This is a marker extension to prevent earlier versions of multibit loading encrypted wallets.
                
                // Unfortunately I merged the recognition of the ORG_MULTIBIT_WALLET_PROTECT mandatory extension into the v0.4 code
                // so it could load encrypted wallets mistakenly.
                
                // Hence the v0.5 code now writes ORG_MULTIBIT_WALLET_PROTECT_2.
                if (!(extProto.getId().equals(MultiBitWalletProtobufSerializer.ORG_MULTIBIT_WALLET_PROTECT) || 
                        extProto.getId().equals(MultiBitWalletProtobufSerializer.ORG_MULTIBIT_WALLET_PROTECT_2))) {
                    throw new UnreadableWalletException("Did not understand a mandatory extension in the wallet of '" + extProto.getId() + "'");
                }
            }
        } else {
            log.info("Loading wallet extension {}", id);
            try {
                extension.deserializeWalletExtension(wallet, extProto.getData().toByteArray());
            } catch (Exception e) {
                if (extProto.getMandatory())
                    throw new UnreadableWalletException("Could not parse mandatory extension in wallet: " + id);
            }
        }
    }
}
 
开发者ID:coinspark,项目名称:sparkbit-bitcoinj,代码行数:31,代码来源:MultiBitWalletProtobufSerializer.java


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