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


Java ECKey.getAddress方法代码示例

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


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

示例1: getSender

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public synchronized RskAddress getSender() {
    if (sender != null) {
        return sender;
    }

    try {
        ECKey key = ECKey.signatureToKey(getRawHash(), getSignature().toBase64());
        sender = new RskAddress(key.getAddress());
    } catch (SignatureException e) {
        logger.error(e.getMessage(), e);
        panicProcessor.panic("transaction", e.getMessage());
        sender = RskAddress.nullAddress();
    }

    return sender;
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:17,代码来源:Transaction.java

示例2: getKeys

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public Keys getKeys() {
    ECKey key = new ECKey();
    byte[] address = key.getAddress();
    byte[] privateKey = key.getPrivKeyBytes();
    return new Keys()
            .setAddress(address)
            .setAddressAsString("0x" + Hex.toHexString(address))
            .setPrivateKey(privateKey)
            .setAddressAsStringWithPrivate(key.toStringWithPrivate());
}
 
开发者ID:modum-io,项目名称:tokenapp-backend,代码行数:11,代码来源:EthereumKeyGenerator.java

示例3: execute

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Override
public byte[] execute(byte[] data) {

    byte[] h = new byte[32];
    byte[] v = new byte[32];
    byte[] r = new byte[32];
    byte[] s = new byte[32];

    DataWord out = null;

    try {
        System.arraycopy(data, 0, h, 0, 32);
        System.arraycopy(data, 32, v, 0, 32);
        System.arraycopy(data, 64, r, 0, 32);

        int sLength = data.length < 128 ? data.length - 96 : 32;
        System.arraycopy(data, 96, s, 0, sLength);

        if (isValid(r, s, v)) {
            ECKey.ECDSASignature signature = ECKey.ECDSASignature.fromComponents(r, s, v[31]);

            ECKey key = ECKey.signatureToKey(h, signature.toBase64());
            out = new DataWord(key.getAddress());
        }
    } catch (Exception any) {
    }

    if (out == null) {
        return new byte[0];
    } else {
        return out.getData();
    }
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:34,代码来源:PrecompiledContracts.java

示例4: buildSendValueTx

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public static Transaction buildSendValueTx(ECKey sender, BigInteger value) {
    byte[] gasPrice = Hex.decode("00");
    byte[] gasLimit = Hex.decode("00");

    Transaction tx = new Transaction(
            null,
            gasPrice,
            gasLimit,
            sender.getAddress(),
            value.toByteArray(),
            null);
    tx.sign(sender.getPrivKeyBytes());

    return tx;
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:16,代码来源:BridgePerformanceTestCase.java

示例5: test3

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Ignore
@Test  /* achieve public key of the sender nonce: 01 */
public void test3() throws Exception {

    // cat --> 79b08ad8787060333663d19704909ee7b1903e58
    // cow --> cd2a3d9f938e13cd947ec05abc7fe734df8dd826

    ECKey ecKey = ECKey.fromPrivate(HashUtil.sha3("cat".getBytes()));
    byte[] senderPrivKey = HashUtil.sha3("cow".getBytes());

    byte[] nonce = {0x01};
    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gasLimit = Hex.decode("4255");
    BigInteger value = new BigInteger("1000000000000000000000000");

    Transaction tx = new Transaction(nonce, gasPrice, gasLimit,
            ecKey.getAddress(), value.toByteArray(), null);

    tx.sign(senderPrivKey);

    System.out.println("v\t\t\t: " + Hex.toHexString(new byte[]{tx.getSignature().v}));
    System.out.println("r\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().r)));
    System.out.println("s\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().s)));

    System.out.println("RLP encoded tx\t\t: " + Hex.toHexString(tx.getEncoded()));

    // retrieve the signer/sender of the transaction
    ECKey key = ECKey.signatureToKey(tx.getHash(), tx.getSignature().toBase64());

    System.out.println("Tx unsigned RLP\t\t: " + Hex.toHexString(tx.getEncodedRaw()));
    System.out.println("Tx signed   RLP\t\t: " + Hex.toHexString(tx.getEncoded()));

    System.out.println("Signature public key\t: " + Hex.toHexString(key.getPubKey()));
    System.out.println("Sender is\t\t: " + Hex.toHexString(key.getAddress()));

    assertEquals("cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
            Hex.toHexString(key.getAddress()));
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:39,代码来源:TransactionTest.java

示例6: createEthereumAccount

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public Account createEthereumAccount() {
	ECKey ecKey = new ECKey();

	byte[] publicKey = ecKey.getPubKey();
	byte[] privateKey = ecKey.getPrivKeyBytes();
	byte[] address = ecKey.getAddress();

	return new Account(Hex.toHexString(publicKey), Hex.toHexString(privateKey),
					Hex.toHexString(address));
}
 
开发者ID:Aptoide,项目名称:AppCoins-ethereumj,代码行数:11,代码来源:AccountCreator.java

示例7: test3

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Ignore
@Test  /* achieve public key of the sender nonce: 01 */
public void test3() throws Exception {

    // cat --> 79b08ad8787060333663d19704909ee7b1903e58
    // cow --> cd2a3d9f938e13cd947ec05abc7fe734df8dd826

    ECKey ecKey = ECKey.fromPrivate(HashUtil.sha3("cat".getBytes()));
    byte[] senderPrivKey = HashUtil.sha3("cow".getBytes());

    byte[] nonce = {0x01};
    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gasLimit = Hex.decode("4255");
    BigInteger value = new BigInteger("1000000000000000000000000");

    Transaction tx = new Transaction(nonce, gasPrice, gasLimit,
            ecKey.getAddress(), value.toByteArray(), null);

    tx.sign(ECKey.fromPrivate(senderPrivKey));

    System.out.println("v\t\t\t: " + Hex.toHexString(new byte[]{tx.getSignature().v}));
    System.out.println("r\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().r)));
    System.out.println("s\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().s)));

    System.out.println("RLP encoded tx\t\t: " + Hex.toHexString(tx.getEncoded()));

    // retrieve the signer/sender of the transaction
    ECKey key = ECKey.signatureToKey(tx.getHash(), tx.getSignature());

    System.out.println("Tx unsigned RLP\t\t: " + Hex.toHexString(tx.getEncodedRaw()));
    System.out.println("Tx signed   RLP\t\t: " + Hex.toHexString(tx.getEncoded()));

    System.out.println("Signature public key\t: " + Hex.toHexString(key.getPubKey()));
    System.out.println("Sender is\t\t: " + Hex.toHexString(key.getAddress()));

    assertEquals("cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
            Hex.toHexString(key.getAddress()));
}
 
开发者ID:Aptoide,项目名称:AppCoins-ethereumj,代码行数:39,代码来源:TransactionTest.java

示例8: generateNewWallet

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Override
public Wallet generateNewWallet() {
    final ECKey key = new ECKey();
    byte[] address = key.getAddress();
    byte[] privateKey = key.getPrivKeyBytes();
    byte[] publicKey = key.getPubKey();

    Wallet wallet = new Wallet();
    //Look at encrypting this if I intend to store it on database. Possibly RSA encryption.
    wallet.setPrivateKey(toHexString(privateKey));
    wallet.setPublicKey(toHexString(publicKey));
    wallet.setWalletAddress(toHexString(address));
    return wallet;
}
 
开发者ID:blmalone,项目名称:Blockchain-Academic-Verification-Service,代码行数:15,代码来源:WalletServiceImpl.java

示例9: test2

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Test  /* achieve public key of the sender */
public void test2() throws Exception {
    if (ConfigHelper.CONFIG.getBlockchainConfig().getCommonConstants().getChainId() != 0)
        return;

    // cat --> 79b08ad8787060333663d19704909ee7b1903e58
    // cow --> cd2a3d9f938e13cd947ec05abc7fe734df8dd826

    BigInteger value = new BigInteger("1000000000000000000000");

    byte[] privKey = HashUtil.sha3("cat".getBytes());
    ECKey ecKey = ECKey.fromPrivate(privKey);

    byte[] senderPrivKey = HashUtil.sha3("cow".getBytes());

    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gas = Hex.decode("4255");

    // Tn (nonce); Tp(pgas); Tg(gaslimi); Tt(value); Tv(value); Ti(sender);  Tw; Tr; Ts
    Transaction tx = new Transaction(null, gasPrice, gas, ecKey.getAddress(),
            value.toByteArray(),
            null);

    tx.sign(senderPrivKey);

    System.out.println("v\t\t\t: " + Hex.toHexString(new byte[]{tx.getSignature().v}));
    System.out.println("r\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().r)));
    System.out.println("s\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().s)));

    System.out.println("RLP encoded tx\t\t: " + Hex.toHexString(tx.getEncoded()));

    // retrieve the signer/sender of the transaction
    ECKey key = ECKey.signatureToKey(tx.getHash(), tx.getSignature().toBase64());

    System.out.println("Tx unsigned RLP\t\t: " + Hex.toHexString(tx.getEncodedRaw()));
    System.out.println("Tx signed   RLP\t\t: " + Hex.toHexString(tx.getEncoded()));

    System.out.println("Signature public key\t: " + Hex.toHexString(key.getPubKey()));
    System.out.println("Sender is\t\t: " + Hex.toHexString(key.getAddress()));

    assertEquals("cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
            Hex.toHexString(key.getAddress()));

    System.out.println(tx.toString());
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:46,代码来源:TransactionTest.java

示例10: test_3

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Test /* Transactions msg encode */
public void test_3() throws Exception {

    String expected =
            "f872f870808609184e72a0008242559479b08ad8787060333663d19704909ee7b1903e588b00d3c21bcecceda1000000801ca07c3f47d609d453737ddcf7c403190f67432c41e1f26051296b24e4e10a837083a0375fdb6d3b82dae7e1e78aa7d7413d0bfefeb05341058361d2b5a53d9c8783d6";

    BigInteger value = new BigInteger("1000000000000000000000000");

    byte[] privKey = HashUtil.sha3("cat".getBytes());
    ECKey ecKey = ECKey.fromPrivate(privKey);

    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gasLimit = Hex.decode("4255");

    Transaction tx = new Transaction(null, gasPrice,
            gasLimit, ecKey.getAddress(), value.toByteArray(), null);

    tx.sign(privKey);
    tx.getEncoded();

    TransactionsMessage transactionsMessage = new TransactionsMessage(ConfigHelper.CONFIG, Collections.singletonList(tx));

    assertEquals(expected, Hex.toHexString(transactionsMessage.getEncoded()));
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:25,代码来源:TransactionsMessageTest.java

示例11: test2

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Ignore
@Test  /* achieve public key of the sender */
public void test2() throws Exception {

    // cat --> 79b08ad8787060333663d19704909ee7b1903e58
    // cow --> cd2a3d9f938e13cd947ec05abc7fe734df8dd826

    BigInteger value = new BigInteger("1000000000000000000000");

    byte[] privKey = HashUtil.sha3("cat".getBytes());
    ECKey ecKey = ECKey.fromPrivate(privKey);

    byte[] senderPrivKey = HashUtil.sha3("cow".getBytes());

    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gas = Hex.decode("4255");

    // Tn (nonce); Tp(pgas); Tg(gaslimi); Tt(value); Tv(value); Ti(sender);  Tw; Tr; Ts
    Transaction tx = new Transaction(null, gasPrice, gas, ecKey.getAddress(),
            value.toByteArray(),
            null);

    tx.sign(senderPrivKey);

    System.out.println("v\t\t\t: " + Hex.toHexString(new byte[]{tx.getSignature().v}));
    System.out.println("r\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().r)));
    System.out.println("s\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().s)));

    System.out.println("RLP encoded tx\t\t: " + Hex.toHexString(tx.getEncoded()));

    // retrieve the signer/sender of the transaction
    ECKey key = ECKey.signatureToKey(tx.getHash(), tx.getSignature().toBase64());

    System.out.println("Tx unsigned RLP\t\t: " + Hex.toHexString(tx.getEncodedRaw()));
    System.out.println("Tx signed   RLP\t\t: " + Hex.toHexString(tx.getEncoded()));

    System.out.println("Signature public key\t: " + Hex.toHexString(key.getPubKey()));
    System.out.println("Sender is\t\t: " + Hex.toHexString(key.getAddress()));

    assertEquals("cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
            Hex.toHexString(key.getAddress()));

    System.out.println(tx.toString());
}
 
开发者ID:rsksmart,项目名称:rskj,代码行数:45,代码来源:TransactionTest.java

示例12: test_3

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Test /* Transactions msg encode */
public void test_3() throws Exception {

    String expected =
            "f872f870808b00d3c21bcecceda10000009479b08ad8787060333663d19704909ee7b1903e588609184e72a000824255801ca00f410a70e42b2c9854a8421d32c87c370a2b9fff0a27f9f031bb4443681d73b5a018a7dc4c4f9dee9f3dc35cb96ca15859aa27e219a8e4a8547be6bd3206979858";

    BigInteger value = new BigInteger("1000000000000000000000000");

    byte[] privKey = HashUtil.sha3("cat".getBytes());
    ECKey ecKey = ECKey.fromPrivate(privKey);

    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gas = Hex.decode("4255");

    Transaction tx = new Transaction(null, value.toByteArray(),
            ecKey.getAddress(), gasPrice, gas, null);

    tx.sign(privKey);
    tx.getEncoded();

    TransactionsMessage transactionsMessage = new TransactionsMessage(Collections.singletonList(tx));

    assertEquals(expected, Hex.toHexString(transactionsMessage.getEncoded()));
}
 
开发者ID:Aptoide,项目名称:AppCoins-ethereumj,代码行数:25,代码来源:TransactionsMessageTest.java

示例13: test2

import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
@Ignore
@Test  /* achieve public key of the sender */
public void test2() throws Exception {

    // cat --> 79b08ad8787060333663d19704909ee7b1903e58
    // cow --> cd2a3d9f938e13cd947ec05abc7fe734df8dd826

    BigInteger value = new BigInteger("1000000000000000000000");

    byte[] privKey = HashUtil.sha3("cat".getBytes());
    ECKey ecKey = ECKey.fromPrivate(privKey);

    byte[] senderPrivKey = HashUtil.sha3("cow".getBytes());

    byte[] gasPrice = Hex.decode("09184e72a000");
    byte[] gas = Hex.decode("4255");

    // Tn (nonce); Tp(pgas); Tg(gaslimi); Tt(value); Tv(value); Ti(sender);  Tw; Tr; Ts
    Transaction tx = new Transaction(null, gasPrice, gas, ecKey.getAddress(),
            value.toByteArray(),
            null);

    tx.sign(ECKey.fromPrivate(senderPrivKey));

    System.out.println("v\t\t\t: " + Hex.toHexString(new byte[]{tx.getSignature().v}));
    System.out.println("r\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().r)));
    System.out.println("s\t\t\t: " + Hex.toHexString(BigIntegers.asUnsignedByteArray(tx.getSignature().s)));

    System.out.println("RLP encoded tx\t\t: " + Hex.toHexString(tx.getEncoded()));

    // retrieve the signer/sender of the transaction
    ECKey key = ECKey.signatureToKey(tx.getHash(), tx.getSignature());

    System.out.println("Tx unsigned RLP\t\t: " + Hex.toHexString(tx.getEncodedRaw()));
    System.out.println("Tx signed   RLP\t\t: " + Hex.toHexString(tx.getEncoded()));

    System.out.println("Signature public key\t: " + Hex.toHexString(key.getPubKey()));
    System.out.println("Sender is\t\t: " + Hex.toHexString(key.getAddress()));

    assertEquals("cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
            Hex.toHexString(key.getAddress()));

    System.out.println(tx.toString());
}
 
开发者ID:Aptoide,项目名称:AppCoins-ethereumj,代码行数:45,代码来源:TransactionTest.java


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