导航:首页 > 以太坊区 > 以太坊转账交易号

以太坊转账交易号

发布时间:2024-03-16 20:08:22

① 【ETH钱包开发03】web3j转账ETH

在之前的文章中,讲解了创建、导出、导入钱包。
【ETH钱包开发01】创建、导出钱包
【ETH钱包开发02】导入钱包

本文主要讲解以太坊转账相关的一些知识。交易分为ETH转账和ERC-20 Token转账,本篇先讲一下ETH转账。

1、解锁账户发起交易。钱包keyStore文件保存在geth节点上,用户发起交易需要解锁账户,适用于中心化的交易所。

2、钱包文件离线签名发起交易。钱包keyStore文件保存在本地,用户使用密码+keystore的方式做离线交易签名来发起交易,适用于dapp,比如钱包。

本文主要讲一下第二种方式,也就是钱包离线签名转账的方式。

交易流程
1、通过keystore加载转账所需的凭证Credentials
2、创建一笔交易RawTransaction
3、使用Credentials对象对交易签名
4、发起交易

注意以下几点:

1、Credentials
这里,我是通过获取私钥的方式来加载 Credentials

还有另外一种方式,通过密码+钱包文件keystore方式来加载 Credentials

2、nonce

nonce是指发起交易的账户下的交易笔数,每一个账户nonce都是从0开始,当nonce为0的交易处理完之后,才会处理nonce为1的交易,并依次加1的交易才会被处理。

可以通过 eth_gettransactioncount 获取nonce

3、gasPrice和gasLimit
交易手续费由gasPrice 和gasLimit来决定,实际花费的交易手续费是 gasUsed * gasPrice 。所有这两个值你可以自定义,也可以使用系统参数获取当前两个值

关于 gas ,你可以参考我之前的一篇文章。
以太坊(ETH)GAS详解

gasPrice和gasLimit影响的是转账的速度,如果gas过低,矿工会最后才打包你的交易。在app中,通常给定一个默认值,并且允许用户自己选择手续费。

如果不需要自定义的话,还有一种方式来获取。获取以太坊网络最新一笔交易的 gasPrice ,转账的话, gasLimit 一般设置为21000就可以了。

Web3j还提供另外一种简单的方式来转账以太币,这种方式的好处是不需要管理nonce,不需要设置gasPrice和gasLimit,会自动获取最新一笔交易的gasPrice,gasLimit 为21000(转账一般设置成这个值就够用了)。

这个问题,我想是很多朋友所关心的吧。但是到目前为止,我还没有看到有讲解这方面的博客。

之前问过一些朋友,他们说可以通过区块号、区块哈希来判断,也可以通过Receipt日志来判断。但是经过我的一番尝试,只有 BlockHash 是可行的,在web3j中根据 blocknumber 和 transactionReceipt 都会报空指针异常。

原因大致是这样的:在发起一笔交易之后,会返回 txHash ,然后我们可以根据这个 txHash 去查询这笔交易相关的信息。但是刚发起交易的时候,由于手续费问题或者以太网络拥堵问题,会导致你的这笔交易还没有被矿工打包进区块,因此一开始是查不到的,通常需要几十秒甚至更长的时间才能获取到结果。我目前的解决方案是轮询的去刷 BlockHash ,一开始的时候 BlockHash 的值为0x00000000000,等到打包成功的时候就不再是0了。

这里我使用的是rxjava的方式去轮询刷的,5s刷新一次。

正常情况下,几十秒内就可以获取到区块信息了。

区块确认数=当前区块高度-交易被打包时的区块高度。

② 以太坊转账流程

发起:用户在本地的以太坊钱包软件中选择要发送的交易地址(From)、输入目标地址(To)、金额(Value)、是否部署或调用合(Data)、手续费单价(Gasprice)等,确认发送至以太坊节点节点和钱包可以是同一台
广播:节点收到(或自己发起)交易后,会对交易进行验证。验证:交易的签名、发起账号的余额是否能支付转账余额与手续费、Nonce是否为账号已发出的交易数。验证为合法后,将交易加入节点的交易池中交易池中存储着待打包的交
安装以太坊浏览器钱包插件,创建钱包,获取虚拟以太币,进行转账交易。 实验内容 学习 初识以太坊,发送交易 1.学习《初始以太坊,发送交易》,虚拟以太币交易。

③ 以太坊event log查询与解析

从 ethereum json-rpc文档 的文档中找到一个同时指定多个事件以 OR 或者 AND 查询的方法.以下是查询 Approval 或 Transfer 事件的方法:

topics 字段中指定查询条件的语法参考上面链接。

通过 getTransactionReceipt 在ropsten测试网上查询到交易号为 的交易详情

这个交易从 "from": "" 发送到合约地址 "to": "" .这个合约为ERC20代币合约.从 topics 的第一个元素可以看出合约中产生了 Transfer 事件(topics第一个元素一定是事件的keccak哈希). topics 的第二个字段是转出代币的地址,第三个字段是接收者地址.ERC20代币 Transfer 事件的签名为

我们注意到 Transfer 事件的第一个和第二个参数被标记为 indexed , 因此他们的值被放在 topics array 中. 由于tokens参数没有标记为 indexed , 所以他的值被放在 data 字段. 如果事件中有多个字段未标记为 indexed , 那么他们的值都会被记录在 data 字段中。

④ 法币交易使用指南

买入ETH

1.登陆账户后,点击“法币交易”,输入您要购买的ETH数量后,点击“立即买入”。

2.点击“立即买入”后,出现弹窗,根据卖家提供的收款方式打款, 请务必在转账备注中填写标识码。

3.您转账成功后,卖家会尽快将ETH转到您的币新账户,如您在交易过程中遇到问题,请咨询币新客服。

卖出ETH

1.进入法币交易页面,设置收款账号。

2.币新提供银行账户、支付宝两种收款方式。

3.设置收款账号后,到法币交易页面,输入您要卖出的ETH数量后(ETH的卖出量需小于或等于您账户中的ETH数量),点击“立即卖出”。币新会冻结您账户中对应数量的ETH。

3.币新会自动匹配相应买家,待买家打款完成后,会将冻结的ETH转入买家账户。

如您在交易过程中遇到问题,请咨询币新客服。

法币交易常见问题:

注意:

1、怎么买入 ETH ?

请按照网站公示价格发布购买信息,系统自动为您匹配商户,按照提示信息在15分钟内完成给账户付款。商户确认收到款后,会马上发币到您的币新账户中。

2、怎么卖出 ETH ?

请按照网站公示价格发布卖出信息,系统自动为您匹配商户,下单成功后商户会在2小时内给您打款。

3、 ETH 价格怎么确定?

价格参考主流交易所ETH价格,请按照指定价格下单。

4、 ETH 有没有额度限制?

目前单次买入卖出单笔最低为1个币,最高为100个。

5、是否有手续费?

全流程平台不收取任何费用。

6、订单有效期多久?

订单有效期为2小时,如2小时内无法匹配成功订单将失效。目前订单匹配成功的时间一般为2个小时内。

7、交易过程产生纠纷怎么处理?

在币新进行交易的、均是经过实名认证用户,如交易过程产生纠纷,请提供有关打款、打币记录,交由币新确认交易成功或失败后进行仲裁,确保双方利益。

8、商户每天的工作时间是多久?

商户服务时间:早上10点到晚上10点

⑤ 以太坊中的国际银行账号iban

简单地说,以太坊中的iban账号是以太坊为了和传统的银行系统对接而引入的概念,web3.js中提供了以太坊地址和iban地址之间的转换方法。

iban这个概念源于传统的银行系统,其英文全称为 International Bank Account Number ,即国际银行帐号。iban的作用是为全球任意一家银行中的任意一个账户生成一个全球唯一的账号,以便进行跨行交易。一个iban账号看起来像这样:

iban地址最多可以包含34个字母和数字,其中的字母大小写不敏感。在iban
中包含以下信息:

以太坊引入了一个新的IBAN国别码:XE,其中E代表Ethereum,X代表非法币(non-jurisdictional currencies)。同时,以太坊提出了三种BBAN的编码格式:direct、basic和indirect。

direct编码方案中的BBAN为30个字母/数字,只有一个字段:账户编号。例如,以太坊地址 转换为direct方案的BBAN账号,就得到 。

可以使用web3.js中的 web3.eth.Iban.fromEthereumAddress()
方法来执行这一转换:

basic编码方案与direct方案的唯一区别在于,其BBAN长度为31个字母/数字,因此该方案不兼容IBAN。

indrect编码方案中的BBAN长度为16个字母/数字,包含三个字段:

例如,一个采用indrect编码方案的以太坊iban账号,看起来是这样:

前面的 XE 表示国别码, 81 为校验和,后面的16个字符就是indrect编码的BBAN,其中:

如前所述,使用 web3.eth.Iban.fromEthereumAddress() 方法,可以将一个以太坊地址转换为direct编码方案的iban账号。与之对应的,可以使用 web3.eth.Iban.toAddress 方法,将一个采用direct编码方案的iban账号,转换回以太坊地址。例如:

iban账号中的校验和用来帮助核验一个给定字符串是否为有效的iban账号。可以使用web3.js中的 web3.eth.Iban.isValid()
来进行执行校验。例如:

原文: http://blog.hubwiz.com/2018/06/03/ethereum-iban/

阅读全文

与以太坊转账交易号相关的资料

热点内容
适合2个人夜晚看的电影真爱至上 浏览:202
反应偏向和辨别力指标怎么算 浏览:703
以太坊猜大小游戏 浏览:46
文艺电影英文 浏览:664
关于大雁的电影动画片 浏览:876
2017虚拟货币研讨会 浏览:999
电影迟到30分钟还可以进吗 浏览:792
黑帮大佬的365日第1季电相似 浏览:828
哪里可以看免费的日本电影 浏览:751
国外有一部电影小男孩跟姐姐母亲不伦 浏览:407
香港女暗杀组织电影 浏览:100
比特币市值多少亿人民币 浏览:684
权利的游戏同人小说 浏览:164
比较漏的电影 浏览:674
挖矿盗力案件视频 浏览:784
有一部小说主角叫杨凡李灿 浏览:694
他平时在哪里看电影的英文 浏览:375
女主胸大 浏览:85
比特币今天交易吗 浏览:223