• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java Convert类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: testSendFunds

import org.web3j.utils.Convert; //导入依赖的package包/类
/**
 * Ether transfer tests using methods {@link Transfer#sendFunds()}.
 * Sending account needs to be unlocked for this to work.   
 */
@Test
public void testSendFunds() throws Exception {
	BigDecimal amountEther = BigDecimal.valueOf(0.123);
	BigInteger amountWei = Convert.toWei(amountEther, Convert.Unit.ETHER).toBigInteger();

	ensureFunds(Alice.ADDRESS, amountWei);

	BigInteger fromBalanceBefore = getBalanceWei(Alice.ADDRESS);
	BigInteger toBalanceBefore = getBalanceWei(Bob.ADDRESS);

	// this is the method to test here
	TransactionReceipt txReceipt = Transfer.sendFunds(
			web3j, Alice.CREDENTIALS, Bob.ADDRESS, amountEther, Convert.Unit.ETHER);

	BigInteger txFees = txReceipt.getGasUsed().multiply(Web3jConstants.GAS_PRICE);

	assertFalse(txReceipt.getBlockHash().isEmpty());
	assertEquals("Unexected balance for 'from' address", fromBalanceBefore.subtract(amountWei.add(txFees)), getBalanceWei(Alice.ADDRESS));
	assertEquals("Unexected balance for 'to' address", toBalanceBefore.add(amountWei), getBalanceWei(Bob.ADDRESS));
}
 
开发者ID:matthiaszimmermann,项目名称:web3j_demo,代码行数:25,代码来源:TransferEtherTest.java


示例2: testCreateAccountFromScratch

import org.web3j.utils.Convert; //导入依赖的package包/类
@Test
public void testCreateAccountFromScratch() throws Exception {
	
	// create new private/public key pair
	ECKeyPair keyPair = Keys.createEcKeyPair();
	
	BigInteger publicKey = keyPair.getPublicKey();
	String publicKeyHex = Numeric.toHexStringWithPrefix(publicKey);
	
	BigInteger privateKey = keyPair.getPrivateKey();
	String privateKeyHex = Numeric.toHexStringWithPrefix(privateKey);
	
	// create credentials + address from private/public key pair
	Credentials credentials = Credentials.create(new ECKeyPair(privateKey, publicKey));
	String address = credentials.getAddress();
	
	// print resulting data of new account
	System.out.println("private key: '" + privateKeyHex + "'");
	System.out.println("public key: '" + publicKeyHex + "'");
	System.out.println("address: '" + address + "'\n");
	
	// test (1) check if it's possible to transfer funds to new address
	BigInteger amountWei = Convert.toWei("0.131313", Convert.Unit.ETHER).toBigInteger();
	transferWei(getCoinbase(), address, amountWei);

	BigInteger balanceWei = getBalanceWei(address);
	BigInteger nonce = getNonce(address);
	
	assertEquals("Unexpected nonce for 'to' address", BigInteger.ZERO, nonce);
	assertEquals("Unexpected balance for 'to' address", amountWei, balanceWei);

	// test (2) funds can be transferred out of the newly created account
	BigInteger txFees = Web3jConstants.GAS_LIMIT_ETHER_TX.multiply(Web3jConstants.GAS_PRICE);
	RawTransaction txRaw = RawTransaction
			.createEtherTransaction(
					nonce, 
					Web3jConstants.GAS_PRICE, 
					Web3jConstants.GAS_LIMIT_ETHER_TX, 
					getCoinbase(), 
					amountWei.subtract(txFees));

	// sign raw transaction using the sender's credentials
	byte[] txSignedBytes = TransactionEncoder.signMessage(txRaw, credentials);
	String txSigned = Numeric.toHexString(txSignedBytes);

	// send the signed transaction to the ethereum client
	EthSendTransaction ethSendTx = web3j
			.ethSendRawTransaction(txSigned)
			.sendAsync()
			.get();

	Error error = ethSendTx.getError();
	String txHash = ethSendTx.getTransactionHash();
	assertNull(error);		
	assertFalse(txHash.isEmpty());
	
	waitForReceipt(txHash);

	assertEquals("Unexpected nonce for 'to' address", BigInteger.ONE, getNonce(address));
	assertTrue("Balance for 'from' address too large: " + getBalanceWei(address), getBalanceWei(address).compareTo(txFees) < 0);
}
 
开发者ID:matthiaszimmermann,项目名称:web3j_demo,代码行数:62,代码来源:CreateAccountTest.java


示例3: refill

import org.web3j.utils.Convert; //导入依赖的package包/类
public void refill(BigDecimal minBalance, String address, Supplier<TransactionManager> managerSupplier) throws InterruptedException, ExecutionException {
    BigDecimal balance = ethereumService.getBalance(address, Convert.Unit.ETHER);

    log.info("Balance of {} is {}", address, balance);

    if (minBalance != null && minBalance.signum() > 0) {
        if (balance.compareTo(minBalance) < 0) {
            TransactionManager manager = managerSupplier.get();
            log.info("Refill {} ETH from {} to {}", minBalance, manager.getFromAddress(), address);
            try {
                new Transfer(web3j, manager).sendFunds(address, minBalance, Convert.Unit.ETHER).send();
            } catch (Exception e) {
                log.warn("Refill failed", e);
            }
            log.info("Balance after refill of {} is {}", address, ethereumService.getBalance(address, Convert.Unit.ETHER));
        }
    }
}
 
开发者ID:papyrusglobal,项目名称:state-channels,代码行数:19,代码来源:BalanceRefillService.java


示例4: run

import org.web3j.utils.Convert; //导入依赖的package包/类
/**
 * Transfers 0.123 Ethers from the coinbase account to the client's second account.
 */
@Override
public void run() throws Exception {
	super.run();
	
	// get basic info 
	EthMining mining = web3j.ethMining().sendAsync().get();
	EthCoinbase coinbase = web3j.ethCoinbase().sendAsync().get();
	EthAccounts accounts = web3j.ethAccounts().sendAsync().get();

	System.out.println("Client is mining: " + mining.getResult());
	System.out.println("Coinbase address: " + coinbase.getAddress());
	System.out.println("Coinbase balance: " + Web3jUtils.getBalanceEther(web3j, coinbase.getAddress()) + "\n");
	
	// get addresses and amount to transfer
	String fromAddress = coinbase.getAddress();
	String toAddress = accounts.getResult().get(1);
	BigInteger amountWei = Convert.toWei("0.123", Convert.Unit.ETHER).toBigInteger();

	// do the transfer
	demoTransfer(fromAddress, toAddress, amountWei);
}
 
开发者ID:matthiaszimmermann,项目名称:web3j_demo,代码行数:25,代码来源:TransferDemo.java


示例5: performTransfer

import org.web3j.utils.Convert; //导入依赖的package包/类
private TransactionReceipt performTransfer(
        Web3j web3j, String destinationAddress, Credentials credentials,
        BigDecimal amountInWei) {

    console.printf("Commencing transfer (this may take a few minutes) ");
    try {
        Future<TransactionReceipt> future = Transfer.sendFunds(
                web3j, credentials, destinationAddress, amountInWei, Convert.Unit.WEI)
                .sendAsync();

        while (!future.isDone()) {
            console.printf(".");
            Thread.sleep(500);
        }
        console.printf("$%n%n");
        return future.get();
    } catch (InterruptedException | ExecutionException | TransactionException | IOException e) {
        exitError("Problem encountered transferring funds: \n" + e.getMessage());
    }
    throw new RuntimeException("Application exit failure");
}
 
开发者ID:web3j,项目名称:web3j,代码行数:22,代码来源:WalletSendFunds.java


示例6: getBalance

import org.web3j.utils.Convert; //导入依赖的package包/类
public BigDecimal getBalance(String accountAddress, Convert.Unit unit) {
    try {
        BigInteger balance = web3j.ethGetBalance(accountAddress, DefaultBlockParameterName.LATEST).send().getBalance();
        return Convert.fromWei(new BigDecimal(balance), unit);
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
}
 
开发者ID:papyrusglobal,项目名称:state-channels,代码行数:9,代码来源:EthereumService.java


示例7: transfer

import org.web3j.utils.Convert; //导入依赖的package包/类
public static String transfer(String from, String to, int amount, Unit unit) throws InterruptedException, ExecutionException {
	BigInteger nonce = getNonce(from);
	BigInteger weiAmount = Convert.toWei(BigDecimal.valueOf(amount), unit).toBigInteger();
	Transaction transaction = new Transaction(from, nonce, GAS_PRICE_DEFAULT, GAS_LIMIT_DEFAULT, to, weiAmount, null);
	EthSendTransaction txRequest = getWeb3j().ethSendTransaction(transaction).sendAsync().get();
	return txRequest.getTransactionHash();
}
 
开发者ID:BSI-Business-Systems-Integration-AG,项目名称:trading-network,代码行数:8,代码来源:Web3jHelper.java


示例8: init

import org.web3j.utils.Convert; //导入依赖的package包/类
@PostConstruct
private void init() {
  String clientConfig = CONFIG.getPropertyValue(EthereumClientProperty.class);
  if (StringUtility.compareIgnoreCase(EthereumClientCodeType.TestRpcCode.ID, clientConfig) == 0) {
    m_useTestrpc = true;
  }

  // move some initial funds to alice's account (only when working with testrpc)
  if (m_useTestrpc) {
    try {
      EthCoinbase coinbase = getWeb3j().ethCoinbase().sendAsync().get();
      String from = coinbase.getAddress();
      BigDecimal balance = getBalance(from);
      LOG.info("coinbase: " + from + ", balance: " + balance.toString());
      rpc_coinbase = from;

      String contractOwnerAdress = Alice.ADDRESS;
      if (getBalance(contractOwnerAdress).compareTo(Convert.toWei("10", Convert.Unit.ETHER)) < 0) {
        transferEther(rpc_coinbase, contractOwnerAdress, Convert.toWei("10", Convert.Unit.ETHER).toBigInteger());
      }

    }
    catch (Exception e) {
      LOG.error(e.getMessage());
      e.printStackTrace();
    }
  }
}
 
开发者ID:BSI-Business-Systems-Integration-AG,项目名称:trading-network,代码行数:29,代码来源:EthereumService.java


示例9: getBalance

import org.web3j.utils.Convert; //导入依赖的package包/类
public BigDecimal getBalance(String address, Unit unit) {
  if (address == null || unit == null) {
    return null;
  }

  BigInteger balance = getBalanceWei(address);

  if (balance == null) {
    return null;
  }

  return Convert.fromWei(new BigDecimal(balance), unit);
}
 
开发者ID:BSI-Business-Systems-Integration-AG,项目名称:trading-network,代码行数:14,代码来源:EthereumService.java


示例10: addRow

import org.web3j.utils.Convert; //导入依赖的package包/类
private void addRow(String txId, Transaction tx, TransactionTablePageData pageData) {
  TransactionTableRowData rowData = pageData.addRow();
  rowData.setId(txId);
  rowData.setFrom(tx.getFromAddress());
  rowData.setTo(tx.getToAddress());
  BigDecimal valueEther = Convert.fromWei(new BigDecimal(tx.getValue()), Unit.ETHER);
  rowData.setValue(valueEther);
  rowData.setStatus(tx.getStatus());
  rowData.setHash(tx.getHash());
  if (CompareUtility.isOneOf(CONFIG.getPropertyValue(EthereumClientProperty.class), EthereumClientCodeType.MainNetCode.ID, EthereumClientCodeType.TestnetCode.ID) &&
      tx.getStatus() > TransactionStatusLookupCall.OFFLINE
      && StringUtility.hasText(tx.getHash())) {
    StringBuilder url = new StringBuilder("https://");
    if (EthereumClientCodeType.TestnetCode.ID.equals(CONFIG.getPropertyValue(EthereumClientProperty.class))) {
      url.append("rinkeby.");
    }
    url.append("etherscan.io/tx/");
    url.append(tx.getHash());
    rowData.setTrackingUrl(url.toString());
  }
  TransactionReceipt receipt = tx.getTransactionReceipt();
  if (receipt != null) {
    try {
      rowData.setBlock(receipt.getBlockNumber().longValue());
    }
    catch (Exception e) {
      LOG.info("failed to fetch tx block number", e);
    }
  }
}
 
开发者ID:BSI-Business-Systems-Integration-AG,项目名称:trading-network,代码行数:31,代码来源:TransactionService.java


示例11: onTransactionReceived

import org.web3j.utils.Convert; //导入依赖的package包/类
public void onTransactionReceived(Transaction tx) {
    BigInteger wei = tx.getValue();
    BigDecimal ether = Convert.fromWei(new BigDecimal(tx.getValue()), Convert.Unit.ETHER);
    String to = tx.getTo();
    String hash = tx.getHash();
    String from = tx.getFrom();

    if (addressMap.containsKey(tx.getTo())) {
        // credito
        System.out.println("Se ha recibido su depósito de " + ether + " ether enviado a su cuenta " + to + " enviado por " + from + " tx " + hash);
    } else if (addressMap.containsKey(tx.getFrom())) {
        //debito
        System.out.println("Se ha hecho un retiro de " + ether + " ether desde su cuenta " + to + " hacia la cuenta destino " + from + " tx " + hash);
    }
}
 
开发者ID:jestevez,项目名称:ethereum-java-wallet,代码行数:16,代码来源:EthereumWallet.java


示例12: sendCoins

import org.web3j.utils.Convert; //导入依赖的package包/类
public TransactionReceipt sendCoins(Credentials credentials, String toAddress, BigDecimal value) throws Exception {
    try {
        TransactionReceipt transactionReceipt = Transfer.sendFunds(web3j, credentials, toAddress, value, Convert.Unit.ETHER);
        //BigInteger gas = transactionReceipt.getGasUsed();
        //String transactionHash1 = transactionReceipt.getTransactionHash();
        return transactionReceipt;
    } catch (Exception ex) {
        throw ex;
    }
}
 
开发者ID:jestevez,项目名称:ethereum-java-wallet,代码行数:11,代码来源:EthereumWallet.java


示例13: testTransfer

import org.web3j.utils.Convert; //导入依赖的package包/类
@Test
public void testTransfer() throws Exception {
    TransactionReceipt transactionReceipt = Transfer.sendFunds(
            web3j, ALICE, BOB.getAddress(), BigDecimal.valueOf(0.2), Convert.Unit.ETHER)
            .send();
    assertFalse(transactionReceipt.getBlockHash().isEmpty());
}
 
开发者ID:web3j,项目名称:web3j,代码行数:8,代码来源:SendEtherIT.java


示例14: createTransaction

import org.web3j.utils.Convert; //导入依赖的package包/类
private static RawTransaction createTransaction() {
    BigInteger value = Convert.toWei("1", Convert.Unit.ETHER).toBigInteger();

    return RawTransaction.createEtherTransaction(
            BigInteger.valueOf(1048587), BigInteger.valueOf(500000), BigInteger.valueOf(500000),
            "0x9C98E381Edc5Fe1Ac514935F3Cc3eDAA764cf004",
            value);
}
 
开发者ID:web3j,项目名称:web3j,代码行数:9,代码来源:SignTransactionIT.java


示例15: run

import org.web3j.utils.Convert; //导入依赖的package包/类
private void run(String walletFileLocation, String destinationAddress) {
    File walletFile = new File(walletFileLocation);
    Credentials credentials = getCredentials(walletFile);
    console.printf("Wallet for address " + credentials.getAddress() + " loaded\n");

    if (!WalletUtils.isValidAddress(destinationAddress)
            && !EnsResolver.isValidEnsName(destinationAddress)) {
        exitError("Invalid destination address specified");
    }

    Web3j web3j = getEthereumClient();

    BigDecimal amountToTransfer = getAmountToTransfer();
    Convert.Unit transferUnit = getTransferUnit();
    BigDecimal amountInWei = Convert.toWei(amountToTransfer, transferUnit);

    confirmTransfer(amountToTransfer, transferUnit, amountInWei, destinationAddress);

    TransactionReceipt transactionReceipt = performTransfer(
            web3j, destinationAddress, credentials, amountInWei);

    console.printf("Funds have been successfully transferred from %s to %s%n"
                    + "Transaction hash: %s%nMined block number: %s%n",
            credentials.getAddress(),
            destinationAddress,
            transactionReceipt.getTransactionHash(),
            transactionReceipt.getBlockNumber());
}
 
开发者ID:web3j,项目名称:web3j,代码行数:29,代码来源:WalletSendFunds.java


示例16: getTransferUnit

import org.web3j.utils.Convert; //导入依赖的package包/类
private Convert.Unit getTransferUnit() {
    String unit = console.readLine("Please specify the unit (ether, wei, ...) [ether]: ")
            .trim();

    Convert.Unit transferUnit;
    if (unit.equals("")) {
        transferUnit = Convert.Unit.ETHER;
    } else {
        transferUnit = Convert.Unit.fromString(unit.toLowerCase());
    }

    return transferUnit;
}
 
开发者ID:web3j,项目名称:web3j,代码行数:14,代码来源:WalletSendFunds.java


示例17: confirmTransfer

import org.web3j.utils.Convert; //导入依赖的package包/类
private void confirmTransfer(
        BigDecimal amountToTransfer, Convert.Unit transferUnit, BigDecimal amountInWei,
        String destinationAddress) {

    console.printf("Please confim that you wish to transfer %s %s (%s %s) to address %s%n",
            amountToTransfer.stripTrailingZeros().toPlainString(), transferUnit,
            amountInWei.stripTrailingZeros().toPlainString(),
            Convert.Unit.WEI, destinationAddress);
    String confirm = console.readLine("Please type 'yes' to proceed: ").trim();
    if (!confirm.toLowerCase().equals("yes")) {
        exitError("OK, some other time perhaps...");
    }
}
 
开发者ID:web3j,项目名称:web3j,代码行数:14,代码来源:WalletSendFunds.java


示例18: send

import org.web3j.utils.Convert; //导入依赖的package包/类
private TransactionReceipt send(
        String toAddress, BigDecimal value, Convert.Unit unit, BigInteger gasPrice,
        BigInteger gasLimit) throws IOException, InterruptedException,
        TransactionException {

    BigDecimal weiValue = Convert.toWei(value, unit);
    if (!Numeric.isIntegerValue(weiValue)) {
        throw new UnsupportedOperationException(
                "Non decimal Wei value provided: " + value + " " + unit.toString()
                        + " = " + weiValue + " Wei");
    }

    String resolvedAddress = ensResolver.resolve(toAddress);
    return send(resolvedAddress, "", weiValue.toBigIntegerExact(), gasPrice, gasLimit);
}
 
开发者ID:web3j,项目名称:web3j,代码行数:16,代码来源:Transfer.java


示例19: sendFunds

import org.web3j.utils.Convert; //导入依赖的package包/类
public static RemoteCall<TransactionReceipt> sendFunds(
        Web3j web3j, Credentials credentials,
        String toAddress, BigDecimal value, Convert.Unit unit) throws InterruptedException,
        IOException, TransactionException {

    TransactionManager transactionManager = new RawTransactionManager(web3j, credentials);

    return new RemoteCall<>(() ->
            new Transfer(web3j, transactionManager).send(toAddress, value, unit));
}
 
开发者ID:web3j,项目名称:web3j,代码行数:11,代码来源:Transfer.java


示例20: createOfflineTx

import org.web3j.utils.Convert; //导入依赖的package包/类
private String createOfflineTx() {
	readPassPhrase();
	
	try {
		PaperWallet pw = new PaperWallet(passPhrase, new File(walletFile));
		BigInteger gasPrice = PaperWallet.GAS_PRICE_DEFAULT;
		BigInteger gasLimit = PaperWallet.GAS_LIMIT_DEFAULT;
		BigInteger amountWei = Convert.toWei(String.valueOf(amount), Convert.Unit.ETHER).toBigInteger();

		log("Target address: " + targetAddress);
		log("Amount [Ether]: " + amount);
		log("Nonce: " + nonce);
		log("Gas price [Wei]: " + gasPrice);
		log("Gas limit [Wei]: " + gasLimit);
		
		String txData = pw.createOfflineTx(targetAddress, gasPrice, gasLimit, amountWei, BigInteger.valueOf(nonce));
		String curlCmd = String.format("curl -X POST --data '{\"jsonrpc\":\"2.0\",\"method\":\"eth_sendRawTransaction\",\"params\":[\"%s\"],\"id\":1}' -H \"Content-Type: application/json\" https://mainnet.infura.io/<infura-token>", txData);
		
		log(curlCmd);
		
		return curlCmd;
	} 
	catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	return null;
}
 
开发者ID:matthiaszimmermann,项目名称:ethereum-paper-wallet,代码行数:30,代码来源:Application.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java NotFoundException类代码示例发布时间:2022-05-22
下一篇:
Java ReturnResultsState类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap