pom文件引入web3j 包

        <dependency><groupId>com.madgag.spongycastle</groupId><artifactId>core</artifactId><version>1.58.0.0</version></dependency><dependency><groupId>org.web3j</groupId><artifactId>utils</artifactId><version>3.4.0</version></dependency><dependency><groupId>org.web3j</groupId><artifactId>core</artifactId><version>>3.4.0</version></dependency>

eth 创建钱包

    public static void create() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException, CipherException {ECKeyPair ecKeyPair = Keys.createEcKeyPair();WalletFile walletFile = Wallet.createLight("password", ecKeyPair);String address = "0x" + walletFile.getAddress();String privateKey = ecKeyPair.getPrivateKey().toString(16);String encryptPrivateKey = AesCBC.getInstance().simpleEncrypt(privateKey,AesCBC.makeKey(1 + "_" + 1));System.out.println("address:"+ address);System.out.println("encryptPrivateKey:"+ encryptPrivateKey);}

eth 转账

    public static void  trans() throws ExecutionException, InterruptedException, IOException, CipherException{//设置需要的矿工费//调用的是kovan测试环境,这里使用的是infura这个客户端Web3j web3j = Web3j.build(new HttpService("节点地址"));//转账人账户地址String ownAddress = "转账地址";//被转人账户地址String toAddress = "收款地址";//金额String amount = "转账金额";//转账人私钥//Credentials credentials = Credentials.create("私钥");Credentials credentials = WalletUtils.loadCredentials("私钥","keystore.store文件地址");//getNonce(每成功交易一笔Nonce会增加)EthGetTransactionCount ethGetTransactionCount = web3j.ethGetTransactionCount(ownAddress, DefaultBlockParameterName.LATEST).sendAsync().get();BigInteger nonce = ethGetTransactionCount.getTransactionCount();//创建交易,这里是把金额转成wei的计价单位BigInteger value = Convert.toWei(amount, Convert.Unit.ETHER).toBigInteger();//获取手续费EthGasPrice gasPrice = web3j.ethGasPrice().send();//转账ETHRawTransaction rawTransaction = RawTransaction.createEtherTransaction(nonce, gasPrice.getGasPrice(), GAS_LIMIT, toAddress, value);//        //转账代币
//        Function function = new Function(
//                "transfer",
//                Arrays.asList(new Address(toAddress), new Uint256(value)),
//                Collections.emptyList());
//        String data = FunctionEncoder.encode(function);
//        RawTransaction rawTransaction = RawTransaction.createTransaction(
//                nonce,
//                TransactionConstants.getUseGasPrice(gasPrice.getGasPrice()),
//                TransactionConstants.GAS_AMOUNT,
//                "代币地址",
//                data
//        );//签名Transaction,这里要对交易做签名byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);String hexValue = Numeric.toHexString(signedMessage);//发送交易EthSendTransaction ethSendTransaction =web3j.ethSendRawTransaction(hexValue).sendAsync().get();String transactionHash = ethSendTransaction.getTransactionHash();//获得到transactionHash后就可以到以太坊的网站上查询这笔交易的状态了System.out.println(transactionHash);}/*** 对数字乘以10的18次方** @param amount 乘数*/public static BigInteger toWei(String amount) {return new BigDecimal(amount).multiply(new BigDecimal(Math.pow(10, 18))).toBigInteger();}

eth 创建钱包,转账 web3j相关推荐

  1. springboot操作以太坊(eth),使用web3j,转账等

    开发以太坊prc客户端: 本次使用的是<MetaMask>钱包 1,安装node.js 2,安装ganache-cli,开启本地web3j的测试服务 安装命令:npm install -g ...

  2. web3j的基础用法-2多种创建钱包

    创建钱包 分为3方式 创建助记词钱包,并返回助记词到指定文件 public static boolean createWallet(String filePath, String destFile) ...

  3. 分层确定性钱包-以太坊创建钱包

    基本概念 所有问题大体可以分为三类:区块链基本概念,钱包安全知识以及钱包转账交易 区块链的基本特性 去中心化 因为整个网络没有中心统治者.系统依靠的是网络上多个参与者的公平约束,所以任意每几个节点的权 ...

  4. 5.6 创建钱包服务

    我们已经学习了关于LightWallet的理论,现在是时候用LightWallet和Hooked-Web3-Provider创建钱包服务了.钱包 服务将允许用户生成独一无二的种子,显示地址和相关余额, ...

  5. ETH 基础篇 JAVA Web3j 智能合约

    架构springboot 这里使用web3j当前eth官方推荐的集成jdk来做说明!当然你也可以使用它最底层的rpc方案来编写(官网也有说明)! 这里做个总结 第一步:先引入jdk [maven] & ...

  6. 以太坊钱包开发系列 - 创建钱包账号

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创 ...

  7. 利用go语言创建钱包并遍历钱包(wallet)

    基本知识 公钥加密算法使用的是成对的密钥:公钥和私钥,公钥可以公开,私钥不能被公开.比特币钱包实际上是一个密钥对,当你安装 一个钱包应用,或者是使用一个比特币客户端来生成一个新地址是,他就会为你生成一 ...

  8. 第十四课 如何在DAPP应用实现自带钱包转账功能?

    1,为什么DAPP生态需要自带钱包功能? 区块链是一个伟大的发明,它改变了生产关系.很多生态,有了区块链技术,可以由全公司员工的"全员合伙人"变成了全平台的"全体合伙人& ...

  9. 如何在DAPP应用实现自带钱包转账功能?

    1 为什么DAPP生态需要自带钱包功能? 区块链是一个伟大的发明,它改变了生产关系.很多生态,有了区块链技术,可以由全公司员工的"全员合伙人"变成了全平台的"全体合伙人& ...

最新文章

  1. 想让关系更好就不要怕麻烦
  2. 2022新冠两大毒王合体?印媒炒作高危变异毒株缝合怪「Delmicron」
  3. 计算机病毒是什么文件形式,【文件病毒】文件病毒的格式、危害、特点_什么是文件病毒_佰佰安全网...
  4. 信息系统项目管理师优秀论文:论信息系统范围管理02
  5. linux系统命令行基础知识点
  6. hdu6103[尺取法] 2017多校6
  7. 希尔排序 最坏时间_排序算法(2)
  8. python匿名函数调用_python中引用局部变量的匿名函数
  9. 编程体系结构(08):Spring.Mvc.Boot框架
  10. 【C语言】数据结构C语言版 实验7 二叉树
  11. ssh免密码登陆设置
  12. (128)FPGA面试题-用一个二选一的MUX和一个非门实现异或
  13. openssl生成Windows证书
  14. python数字求和为什么得不出结果_WPS表格求和问题,只出公式不出结果数字
  15. 关于动态规划的一点学习感想
  16. 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇
  17. Java工程师 数据库优化面试题(Day16)
  18. 0基础入门学PLC,只需掌握好这5个步骤让您从0变精通
  19. 第三篇: DDcGAN-用于多分辨率图像融合的双判别器生成对抗网络
  20. 微信公众号实现消息模板的推送

热门文章

  1. WJMZBMR打osu! / Easy (Lougu1365)
  2. 将网页制作成chm文件
  3. 电子计算机 隐形眼镜,计算机科学 | 能随时监测眼压的智能隐形眼镜
  4. SolidWorks画一个圆形凹槽
  5. python基础之Day4 python 的序列之字典与集合
  6. fsolve算得停不下来matlab,fsolve计算结果问题
  7. 冰狼服务器无响应或无网络链接,冒险岛一键端用不了,很纠结, 服务端里面提示正在启动数据库...
  8. 同济大学计算机学院考研试题,同济大学:各院系历年考研复试试题汇总
  9. 北京物资学院图书馆打印个人PC的文件上传方式
  10. 最新自适应安防监控类网站源码+易优CMS内核