千家信息网

web3j转账方式有哪些

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,今天小编给大家分享一下web3j转账方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解
千家信息网最后更新 2025年12月03日web3j转账方式有哪些

今天小编给大家分享一下web3j转账方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

 web3 转账功能

  为了完成以太坊交易,必须有几个先决条件

  1、对方的以太坊地址

  2、确定要转账的金额

  3、自己地址的转账权限

  4、大于转账金额的以太币,以太币转账其实就是提出一个交易,矿工会帮你计算,计算完成即达成交易,但是矿工计算需要支付一定的费用(GAS),支付过少,计算转账就有可能很慢或者不成功。

  转账方式1:

  代码如下

1 import org.web3j.crypto.Credentials; 2 import org.web3j.crypto.RawTransaction; 3 import org.web3j.crypto.TransactionEncoder; 4 import org.web3j.protocol.Web3j; 5 import org.web3j.protocol.core.DefaultBlockParameterName; 6 import org.web3j.protocol.core.methods.response.EthGetTransactionCount; 7 import org.web3j.protocol.core.methods.response.EthSendTransaction; 8 import org.web3j.protocol.http.HttpService; 9 import org.web3j.utils.Convert;10 import org.web3j.utils.Numeric;11 12 import java.math.BigInteger;13 14 15 public class TransactionTest {16     public static void main(String[] args) throws Exception {17         //设置需要的矿工费18         BigInteger GAS_PRICE = BigInteger.valueOf(22_000_000_000L);19         BigInteger GAS_LIMIT = BigInteger.valueOf(4_300_000);20 21         //调用的是kovan测试环境,这里使用的是infura这个客户端22         Web3j web3j = Web3j.build(new HttpService("https://kovan.infura.io/"));23         //转账人账户地址24         String ownAddress = "0xD1c82c71cC567d63Fd53D5B91dcAC6156E5B96B3";25         //被转人账户地址26         String toAddress = "0x6e27727bbb9f0140024a62822f013385f4194999";27         //转账人私钥28         Credentials credentials = Credentials.create("xxxxxxxxxxxxx");29         //        Credentials credentials = WalletUtils.loadCredentials(30         //                "123",31         //                "src/main/resources/UTC--2018-03-01T05-53-37.043Z--d1c82c71cc567d63fd53d5b91dcac6156e5b96b3");32 33         //getNonce(这里的Nonce我也不是很明白,大概是交易的笔数吧)34         EthGetTransactionCount ethGetTransactionCount = web3j.ethGetTransactionCount(35                 ownAddress, DefaultBlockParameterName.LATEST).sendAsync().get();36         BigInteger nonce = ethGetTransactionCount.getTransactionCount();37 38         //创建交易,这里是转0.5个以太币39         BigInteger value = Convert.toWei("0.5", Convert.Unit.ETHER).toBigInteger();40         RawTransaction rawTransaction = RawTransaction.createEtherTransaction(41                 nonce, GAS_PRICE, GAS_LIMIT, toAddress, value);42 43         //签名Transaction,这里要对交易做签名44         byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);45         String hexValue = Numeric.toHexString(signedMessage);46 47         //发送交易48         EthSendTransaction ethSendTransaction =49                 web3j.ethSendRawTransaction(hexValue).sendAsync().get();50         String transactionHash = ethSendTransaction.getTransactionHash();51 52         //获得到transactionHash后就可以到以太坊的网站上查询这笔交易的状态了53         System.out.println(transactionHash);54     }55 }

注意:

以上交易代码是离线交易,先组装交易,然后发送到链上,web3j提供在线交易,但是这种交易需要parity钱包,将完整的区块链钱包下载下来,然后绑定账户进去。

1、第27-31行,可以用两种方式获得地址的信任凭证,一种是直接使用私钥,一种是使用keystore文件

2、https://kovan.etherscan.io/tx/0x88cb6e625b57cadd6d7f71872433c2e638014fca30e47c649f2831db79b54304

这个地址是可以查到你的这笔交易的

0x88cb6e625b57cadd6d7f71872433c2e638014fca30e47c649f2831db79b54304是transactionHash

这个地址是测试地址,如果需要查询主网上的,删除kovan

转账方式2:

import org.web3j.crypto.Credentials;import org.web3j.protocol.Web3j;import org.web3j.protocol.core.methods.response.TransactionReceipt;import org.web3j.protocol.http.HttpService;import org.web3j.tx.Transfer;import org.web3j.utils.Convert;import java.math.BigDecimal;public class TransactionTest2 {    public static void main(String[] args) throws Exception {        Web3j web3j = Web3j.build(new HttpService("https://kovan.infura.io/"));        String ownAddress = "0xD1c82c71cC567d63Fd53D5B91dcAC6156E5B96B3";        String toAddress = "0x6e27727bbb9f0140024a62822f013385f4194999";        Credentials credentials = Credentials.create("xxxxxxxx");        TransactionReceipt transactionReceipt = Transfer.sendFunds(                web3j, credentials, toAddress,                BigDecimal.valueOf(0.2), Convert.Unit.ETHER).send();        System.out.println(transactionReceipt.getTransactionHash());    }}

注意

这种也是离线的,但是代码量比较小。

备注:

如果在kovan环境中没有以太币的话,可以到https://gitter.im/kovan-testnet/faucet这里去要,直接注册账号之后,把你的账号地址发到群里就行了,过几分钟就会给你转钱的,主网的账号地址和kovan是一样的,但是里面的币是不一样的。

以上就是"web3j转账方式有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

交易 转账 地址 以太 方式 知识 篇文章 代码 矿工 账号 账户 内容 就是 环境 金额 钱包 支付 查询 测试 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北企业软件开发定做 网站建设属于软件开发 河北工业大学网络安全学院 cf怎么知道大区与服务器 金山区项目数据库服务商成本 喵星大作战服务器异常 软件开发证件 动动同步微信显示服务器忙 西安未央区网络安全巡展 软件开发文档有哪些 软件开发公司微信宣传长图 服务器开机怎么下载软件 创业年代中说的服务器在哪里 数据库单元格锁定 软件开发由哪些人员组成 广州新达软件开发公司代理 潍坊何夷网络技术有限公司 互联网科技ppt制作 陕西做网络安全的公司 南京软件开发定制价格 深圳市卜鸣网络技术有限公司地址 网络安全等级保护首要环节 西部荒野所有任务六零数据库 网络安全员培训材料 广州怡纳斯互联网科技有限公司 重视网络安全教育 文山软件开发电话 网络安全主题海报 包含内容 广电网络安全是指 监控器的服务器要求高吗
0