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

x33g5p2x  于2022-01-16 转载在 其他  
字(11.1k)|赞(0)|评价(0)|浏览(146)

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

Address.getHash160介绍

[英]The (big endian) 20 byte hash that is the core of a Bitcoin address.
[中]作为比特币地址核心的(大端)20字节散列。

代码示例

代码示例来源:origin: blockchain/thunder

  1. @Override
  2. public ECKey findKeyFromPubHash (byte[] pubkeyHash) {
  3. for (ECKey k : keyList) {
  4. if (Arrays.equals(pubkeyHash, k.toAddress(Constants.getNetwork()).getHash160())) {
  5. return k;
  6. }
  7. }
  8. return null;
  9. }

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

  1. boolean setSporkAddress(String strAddress) {
  2. try {
  3. Address address = Address.fromBase58(context.getParams(), strAddress);
  4. sporkPubKeyId = address.getHash160();
  5. } catch (AddressFormatException x) {
  6. log.error("CSporkManager::SetSporkAddress -- Failed to parse spork address");
  7. return false;
  8. }
  9. return true;
  10. }

代码示例来源:origin: blockchain/thunder

  1. public LNEstablishAMessage (ECKey channelKeyServer, Transaction anchor, RevocationHash revocationHash, long clientAmount, long
  2. serverAmount, int minConfirmationAnchor, Address address, int feePerByte, long csvDelay) {
  3. this.channelKeyServer = channelKeyServer.getPubKey();
  4. this.minConfirmationAnchor = minConfirmationAnchor;
  5. this.anchorTransaction = anchor.bitcoinSerialize();
  6. this.revocationHash = revocationHash;
  7. this.amountClient = clientAmount;
  8. this.amountServer = serverAmount;
  9. this.addressBytes = address.getHash160();
  10. this.feePerByte = feePerByte;
  11. this.csvDelay = csvDelay;
  12. }

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

  1. BitAddress(Address address) throws WrongNetworkException {
  2. this((CoinType) address.getParameters(), address.getVersion(), address.getHash160());
  3. }

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

  1. BitAddress(Address address) throws WrongNetworkException {
  2. this((CoinType) address.getParameters(), address.getVersion(), address.getHash160());
  3. }

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

  1. public void markP2SHAddressAsUsed(Address address) {
  2. checkArgument(address.isP2SHAddress());
  3. RedeemData data = findRedeemDataFromScriptHash(address.getHash160());
  4. if (data == null)
  5. return; // Not our P2SH address.
  6. for (ECKey key : data.keys) {
  7. for (DeterministicKeyChain chain : chains) {
  8. DeterministicKey k = chain.findKeyFromPubKey(key.getPubKey());
  9. if (k == null) continue;
  10. chain.markKeyAsUsed(k);
  11. maybeMarkCurrentAddressAsUsed(address);
  12. }
  13. }
  14. }

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

  1. public void markP2SHAddressAsUsed(Address address) {
  2. checkArgument(address.isP2SHAddress());
  3. RedeemData data = findRedeemDataFromScriptHash(address.getHash160());
  4. if (data == null)
  5. return; // Not our P2SH address.
  6. for (ECKey key : data.keys) {
  7. for (DeterministicKeyChain chain : chains) {
  8. DeterministicKey k = chain.findKeyFromPubKey(key.getPubKey());
  9. if (k == null) continue;
  10. chain.markKeyAsUsed(k);
  11. maybeMarkCurrentAddressAsUsed(address);
  12. }
  13. }
  14. }

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

  1. public void markP2SHAddressAsUsed(Address address) {
  2. checkArgument(address.isP2SHAddress());
  3. RedeemData data = findRedeemDataFromScriptHash(address.getHash160());
  4. if (data == null)
  5. return; // Not our P2SH address.
  6. for (ECKey key : data.keys) {
  7. for (DeterministicKeyChain chain : chains) {
  8. DeterministicKey k = chain.findKeyFromPubKey(key.getPubKey());
  9. if (k == null) continue;
  10. chain.markKeyAsUsed(k);
  11. maybeMarkCurrentAddressAsUsed(address);
  12. }
  13. }
  14. }

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

  1. @Test
  2. public void decoding() throws Exception {
  3. Address a = Address.fromBase58(testParams, "n4eA2nbYqErp7H6jebchxAN59DmNpksexv");
  4. assertEquals("fda79a24e50ff70ff42f7d89585da5bd19d9e5cc", Utils.HEX.encode(a.getHash160()));
  5. Address b = Address.fromBase58(mainParams, "17kzeh4N8g49GFvdDzSf8PjaPfyoD1MndL");
  6. assertEquals("4a22c3c4cbb31e4d03b15550636762bda0baf85a", Utils.HEX.encode(b.getHash160()));
  7. }

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

  1. public void markP2SHAddressAsUsed(Address address) {
  2. checkArgument(address.isP2SHAddress());
  3. RedeemData data = findRedeemDataFromScriptHash(address.getHash160());
  4. if (data == null)
  5. return; // Not our P2SH address.
  6. for (ECKey key : data.keys) {
  7. for (DeterministicKeyChain chain : chains) {
  8. DeterministicKey k = chain.findKeyFromPubKey(key.getPubKey());
  9. if (k == null) continue;
  10. chain.markKeyAsUsed(k);
  11. maybeMarkCurrentAddressAsUsed(address);
  12. if (data.isP2SHofP2WPKH) maybeMarkCurrentKeyAsUsed(k);
  13. }
  14. }
  15. }

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

  1. /** Creates a scriptPubKey that encodes payment to the given address. */
  2. public static Script createOutputScript(Address to) {
  3. if (to.isP2SHAddress()) {
  4. // OP_HASH160 <scriptHash> OP_EQUAL
  5. return new ScriptBuilder()
  6. .op(OP_HASH160)
  7. .data(to.getHash160())
  8. .op(OP_EQUAL)
  9. .build();
  10. } else {
  11. // OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
  12. return new ScriptBuilder()
  13. .op(OP_DUP)
  14. .op(OP_HASH160)
  15. .data(to.getHash160())
  16. .op(OP_EQUALVERIFY)
  17. .op(OP_CHECKSIG)
  18. .build();
  19. }
  20. }

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

  1. @Test
  2. public void findRedeemScriptFromPubHash() throws Exception {
  3. group = createMarriedKeyChainGroup();
  4. Address address = group.freshAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  5. assertTrue(group.findRedeemDataFromScriptHash(address.getHash160()) != null);
  6. group.getBloomFilterElementCount();
  7. KeyChainGroup group2 = createMarriedKeyChainGroup();
  8. group2.freshAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  9. group2.getBloomFilterElementCount(); // Force lookahead.
  10. // test address from lookahead zone and lookahead threshold zone
  11. for (int i = 0; i < group.getLookaheadSize() + group.getLookaheadThreshold(); i++) {
  12. address = group.freshAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  13. assertTrue(group2.findRedeemDataFromScriptHash(address.getHash160()) != null);
  14. }
  15. assertFalse(group2.findRedeemDataFromScriptHash(group.freshAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS).getHash160()) != null);
  16. }

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

  1. @Test
  2. public void markAsUsed() throws Exception {
  3. Address addr1 = group.currentAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  4. Address addr2 = group.currentAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  5. assertEquals(addr1, addr2);
  6. group.markPubKeyHashAsUsed(addr1.getHash160());
  7. Address addr3 = group.currentAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  8. assertNotEquals(addr2, addr3);
  9. }

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

  1. @Test
  2. public void findRedeemData() throws Exception {
  3. group = createMarriedKeyChainGroup();
  4. // test script hash that we don't have
  5. assertNull(group.findRedeemDataFromScriptHash(new ECKey().getPubKey()));
  6. // test our script hash
  7. Address address = group.currentAddress(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  8. RedeemData redeemData = group.findRedeemDataFromScriptHash(address.getHash160());
  9. assertNotNull(redeemData);
  10. assertNotNull(redeemData.redeemScript);
  11. assertEquals(2, redeemData.keys.size());
  12. }

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

  1. @Test
  2. public void testGood_Simple() throws BitcoinURIParseException {
  3. testObject = new BitcoinURI(MAINNET, BITCOIN_SCHEME + ":" + MAINNET_GOOD_ADDRESS);
  4. assertNotNull(testObject);
  5. assertNull("Unexpected amount", testObject.getAmount());
  6. assertNull("Unexpected label", testObject.getLabel());
  7. assertEquals("Unexpected label", 20, testObject.getAddress().getHash160().length);
  8. }

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

  1. @Test
  2. public void marriedKeychainBloomFilter() throws Exception {
  3. createMarriedWallet(2, 2);
  4. Address address = wallet.currentReceiveAddress();
  5. assertTrue(wallet.getBloomFilter(0.001).contains(address.getHash160()));
  6. Transaction t1 = createFakeTx(PARAMS, CENT, address);
  7. TransactionOutPoint outPoint = new TransactionOutPoint(PARAMS, 0, t1);
  8. assertFalse(wallet.getBloomFilter(0.001).contains(outPoint.unsafeBitcoinSerialize()));
  9. sendMoneyToWallet(BlockChain.NewBlockType.BEST_CHAIN, t1);
  10. assertTrue(wallet.getBloomFilter(0.001).contains(outPoint.unsafeBitcoinSerialize()));
  11. }

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

  1. @Test
  2. public void derive() throws Exception {
  3. ECKey key1 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  4. ECKey key2 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  5. final Address address = new Address(UnitTestParams.get(), "n1bQNoEx8uhmCzzA5JPG6sFdtsUQhwiQJV");
  6. assertEquals(address, key1.toAddress(UnitTestParams.get()));
  7. assertEquals("mnHUcqUVvrfi5kAaXJDQzBb9HsWs78b42R", key2.toAddress(UnitTestParams.get()).toString());
  8. assertEquals(key1, chain.findKeyFromPubHash(address.getHash160()));
  9. assertEquals(key2, chain.findKeyFromPubKey(key2.getPubKey()));
  10. key1.sign(Sha256Hash.ZERO_HASH);
  11. ECKey key3 = chain.getKey(SimpleHDKeyChain.KeyPurpose.CHANGE);
  12. assertEquals("mqumHgVDqNzuXNrszBmi7A2UpmwaPMx4HQ", key3.toAddress(UnitTestParams.get()).toString());
  13. key3.sign(Sha256Hash.ZERO_HASH);
  14. }

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

  1. @Test
  2. public void derive() throws Exception {
  3. ECKey key1 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  4. ECKey key2 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  5. final Address address = new Address(UnitTestParams.get(), "n1bQNoEx8uhmCzzA5JPG6sFdtsUQhwiQJV");
  6. assertEquals(address, key1.toAddress(UnitTestParams.get()));
  7. assertEquals("mnHUcqUVvrfi5kAaXJDQzBb9HsWs78b42R", key2.toAddress(UnitTestParams.get()).toString());
  8. assertEquals(key1, chain.findKeyFromPubHash(address.getHash160()));
  9. assertEquals(key2, chain.findKeyFromPubKey(key2.getPubKey()));
  10. key1.sign(Sha256Hash.ZERO_HASH);
  11. ECKey key3 = chain.getKey(SimpleHDKeyChain.KeyPurpose.CHANGE);
  12. assertEquals("mqumHgVDqNzuXNrszBmi7A2UpmwaPMx4HQ", key3.toAddress(UnitTestParams.get()).toString());
  13. key3.sign(Sha256Hash.ZERO_HASH);
  14. }

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

  1. @Test
  2. public void deriveAccountOne() throws Exception {
  3. long secs = 1389353062L;
  4. DeterministicKeyChain chain1 = new AccountOneChain(ENTROPY, "", secs);
  5. ECKey key1 = chain1.getKey(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  6. ECKey key2 = chain1.getKey(KeyChain.KeyPurpose.RECEIVE_FUNDS);
  7. final Address address = Address.fromBase58(UnitTestParams.get(), "n2nHHRHs7TiZScTuVhZUkzZfTfVgGYwy6X");
  8. assertEquals(address, key1.toAddress(UnitTestParams.get()));
  9. assertEquals("mnp2j9za5zMuz44vNxrJCXXhZsCdh89QXn", key2.toAddress(UnitTestParams.get()).toString());
  10. assertEquals(key1, chain1.findKeyFromPubHash(address.getHash160()));
  11. assertEquals(key2, chain1.findKeyFromPubKey(key2.getPubKey()));
  12. key1.sign(Sha256Hash.ZERO_HASH);
  13. ECKey key3 = chain1.getKey(KeyChain.KeyPurpose.CHANGE);
  14. assertEquals("mpjRhk13rvV7vmnszcUQVYVQzy4HLTPTQU", key3.toAddress(UnitTestParams.get()).toString());
  15. key3.sign(Sha256Hash.ZERO_HASH);
  16. }

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

  1. @Test
  2. public void deriveCoin() throws Exception {
  3. DeterministicHierarchy hierarchy = new DeterministicHierarchy(masterKey);
  4. DeterministicKey rootKey = hierarchy.get(BitcoinMain.get().getBip44Path(0), false, true);
  5. chain = new SimpleHDKeyChain(rootKey);
  6. ECKey key1 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  7. ECKey key2 = chain.getKey(SimpleHDKeyChain.KeyPurpose.RECEIVE_FUNDS);
  8. final Address address = new Address(BitcoinMain.get(), "1Fp7CA7ZVqZNFVNQ9TpeqWUas7K28K9zig");
  9. assertEquals(address, key1.toAddress(BitcoinMain.get()));
  10. assertEquals("1AKqkQM4VqyVis6hscj8695WHPCCzgHNY3", key2.toAddress(BitcoinMain.get()).toString());
  11. assertEquals(key1, chain.findKeyFromPubHash(address.getHash160()));
  12. assertEquals(key2, chain.findKeyFromPubKey(key2.getPubKey()));
  13. key1.sign(Sha256Hash.ZERO_HASH);
  14. ECKey key3 = chain.getKey(SimpleHDKeyChain.KeyPurpose.CHANGE);
  15. assertEquals("18YvGiRqXKxrzB72ckfrRSizWeHgwRP94V", key3.toAddress(BitcoinMain.get()).toString());
  16. key3.sign(Sha256Hash.ZERO_HASH);
  17. ECKey key4 = chain.getKey(SimpleHDKeyChain.KeyPurpose.CHANGE);
  18. assertEquals("1861TX2MbyPEUrxDQVWgV4Tp9991bK1zpy", key4.toAddress(BitcoinMain.get()).toString());
  19. key4.sign(Sha256Hash.ZERO_HASH);
  20. }

相关文章