• 搜索历史

热门搜索

注册
获取验证码
登录
我已阅读并接受 用户协议

找回密码

获取验证码
登录

绑定手机

获取验证码
绑定
我已阅读并接受 用户协议
百科 2018-08-15 15:19 浏览量:1128

以太币怎么交易?以太坊交易的具体流程

以太坊最近风生水起,关于以太币怎么交易想必大家都想了解,今天就介绍以太币交易的具体流程。

以太坊的交易最直观解释:从外部账户发送到区块链上的另一个账户的消息和签名的数据包。

包含如下内容:

发送者的签名

接收的地址

转移的数字货币数量等内容

以太坊上的交易都是需要支付费用,和比特币以比特币来支付一定的交易费用不同,以太坊上固定了这个环节,那么这个间接理解是以太坊的一种安全防范错误,防止了大量的无意义的交易,保证一定的安全性,特别是智能合约的创建、执行、调用都需要消耗费用,那么也保证了整个系统的稳定性,防止了一些链上无意义的恶意行为。

交易手续费

以太坊的核心是EVM,以太坊虚拟机,那么在EVM中执行的字节码都是要支付费用。也就是经常看到的Gas、Gas limit、Gas Price这几个概念。

Gas:字面理解就是汽油,以太坊和日常的汽车一样需要Gas才能运行。Gas是一笔交易过程中计算消耗的基本单位。有一个列表可以直观看到在以太坊中操作的Gas消耗量:

操作Gas消耗具体内容

◆step1执行周期的默认费用。

◆stop0终止操作是免费的。

◆suicide0智能合约账户的内部数据存储空间,当合约账户调用suicide()方法时,该值将被置为null。

◆sha320加解密

◆sload20在固定的存储器中去获取

◆sstore100输入到固定的存储器中

◆balance20账户余额

◆create100创建合约

◆call20初始化一个只读调用

◆memory1扩充内存额外支付的费用

◆txdata5交易过程中数据或者编码的每一个字节的消耗

◆transaction500交易费用

◆contract creation53000homestead中目前从21000调整到53000

所以有些公司或者个人觉得区块链技术去中介化,不需要中心服务器,这种开发模式是比较便宜的,但是事实上区块链的开发不比之前的那些传统软件开发来的便宜。

Gas Price:字面理解汽油价格,这个就像你去加油站,95#汽油今天是什么价格。一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。当然你觉得我不想支付费用,你可以设置Gas Price为0,但是选择权在矿工手中,矿工有权选择收纳交易和收取费用,那么最简单的想想很难让一个矿工去接收一个价格很低的交易吧。另外提一句,以太坊默认的Gas Price是1wei。

Gas Limit:字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。

假设几个场景来说明Gas的使用:

用户设置Gas Limit,那么在交易过程中,如果你的实际消耗的Gas used

用户设置Gas Limit,那么交易过程中,如果你的实际消耗的Gas used > Gas Limit,那么矿工肯定发现你的Gas不足,这个交易就无法执行完成,这个之后会回滚到执行之前的状态,这个时候矿工会收取Gas Price*Gas Limit。

区块的Gas Limit,区块中有一个Gas上限,收纳的交易会出现不同的用户指定的Gas Limit。那么矿工就会根据区块限制的Gas Limit来选择,“合理”选择打包交易。

具体交易

以太坊上交易可以是简单的以太币的转移,同时也可以是智能合约的代码消息。列个表格看下交易的具体内容:

代码内容

from交易发起者的地址、不能为空,源头都没有不合理。

to交易接收者的地址(这个可以为空,空的时候就表示是一个合约的创建)

value转移的以太币数量

data数据字段。这个字段存在的时候表示的是,交易是一个创建或者是一个调用智能合约的交易

Gas Limit字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。

Gas Price一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。以太坊默认的Gas Price是1wei。

nonce用于区别用户发出交易的标识。

hash交易ID,是由上述的信息生成的一个hash值

r、s、v交易签名的三部分,交易发起者的私钥对hash签名生成。

以太币怎么交易?以太坊交易的具体流程

交易分三种类型

转账:简单明了的以太坊上的以太币的转移,就和比特币类似,A向B转移一定数量的以太币。这种交易包含:交易发起者、接收者、value的数量,其余类似Gas Limit、hash、nonce都会默认生成。所以你会看到一段代码:

web3.eth.sendTransaction({ from: "交易发起者地址", to:“交易接收者地址”, value: 数量});

智能合约创建:创建智能合约就是把智能合约部署到区块链上,那么这个时候to是一个空的字段。data字段则是初始化合约的代码。所以看到代码:

web3.eth.sendTransaction({ from: "交易发起者地址", data: "contract binary code"});

智能合约执行:合约创建部署在区块链上,那么执行就是会加上to字段到要智能合约执行的地址,然后data字段来指定调用的方法和参数的传递,所以看到代码:

web3.eth.sendTransaction({ from: "交易发起者地址", to:“合约执行者地址”, data:“调用的方法和参数的传递”});

以上大致就是交易的类型。

交易的确认

和比特币一样,以太坊的交易需要后续区块确认后,节点同步后、才能确认。简单理解就是多挖出一些区块来,通过验证后这一笔交易才算确认,以太坊时常会出现拥堵的情况,所以有时候需要等待确认。

转账、合约交易流转

首先交易发起者A发起一笔转账交易,那么发送的格式如下:

◆代码具体内容

◆from交易发起者的地址

◆to交易接收者的地址

◆value转移的以太币数量

◆GasGas的量

◆Gas PriceGas的单价

◆data发送给接收者的消息

◆nonce交易编号

节点验证:以太坊网络中会有节点收到A发送出来的消息,那么会去检查这个消息格式时候有效,然后计算Gas Limit。这个时候回去验证A的以太坊余额,如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。

矿工验证:那么写入区块链必须要矿工打包,矿工在接收到A发出的交易,会和其他交易一块打包,普通转账交易打包即可,那么合约调用的交易则需要在矿工本地的EVM上去执行调用的合约代码,代码执行过程中检查Gas的消耗。一旦Gas消耗完了,那么就回滚,如果Gas足够那么返回多余的Gas。并广播到区块链网络。

其余节点:重复节点验证步骤,然后合约也会在本地EVM上执行验证。通过验证后同步区块链。

首先还是发起者A发起一个创建智能合约的交易请求。格式如下:

◆代码具体内容

◆from交易发起者的地址

◆to0

◆value转移的以太币数量

◆GasGas的量

◆Gas PriceGas的单价

◆data合约代码

◆nonce交易编号

节点验证:

以太坊网络中会有节点收到A发送出来的消息,检查交易是否有效,格式是否正确,验证交易签名。计算Gas,确定下发起者的地址,然后查询A账户以太币的余额。如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。

矿工验证:

矿工将交易打包,那么会根据交易费用和合约代码,来创建合约账户,在账户的空间中部署合约。这里说下合约地址(智能合约账户的地址是有发起者的地址和交易的随机数作为输入,然后通过加密算法生成)。交易确认后会把智能合约的地址返回给A。且广播到区块链网络。

其余节点:

重复节点验证步骤,验证区块,在节点的内存池中更新A的智能合约交易,同步区块链,且智能合约部署在自己本地的区块链中。

通过上面小编分析的内容,我想大家应该基本上了解了很多关于以太坊该怎么交易的内容吧,在这里还要提醒下大家,在投资过程中需要谨慎行事。

本文来源: 币圈子
声明:本文由入驻亚投财经的作者撰写,观点仅代表作者本人,绝不代表亚投财经赞同其观点或证实其描述。

发表评论

发布
请先 登录 / 注册 后参与评论

回复 
取消 回复
回复
回复
取消 回复
展开更多 (剩余{{cmList[i].children.length-item.children.length}}条回复)

20小时前

主流货币涨跌榜播报

根据【亚投财经】数据显示,过去24h主流货币变化情况如下:NAS最新价11.99元,涨幅22.66%;LET最新价0.07元,涨幅14.46%;RUFF最新价0.16元,涨幅12.29%;DTA最新价0.02元,涨幅7.98%;ITC最新价1.89元,跌幅-0.36%;ZEC最新价899.05元,跌幅-0.93%;STORJ最新价1.88元,跌幅-1.45%;STEEM最新价7.03元,跌幅-3.75%。

1天前

午间币市行情动态

【亚投财经】主流货币数据显示:BTC最新价45,623.99元,最高价0元,最低价0元,24小时成交额216.68亿元,涨幅1.04%;ETH最新价1,613.3元,最高价0元,最低价0元,24小时成交额117.62亿元,涨幅1.95%;XRP最新价4.05元,最高价0元,最低价0元,24小时成交额79.53亿元,涨幅4.84%;EOS最新价40.02元,最高价0元,最低价0元,24小时成交额48.21亿元,涨幅1.73%;LTC最新价422.78元,最高价0元,最低价0元,24小时成交额33.20亿元,涨幅0.26%;ETC最新价78.21元,最高价0元,最低价0元,24小时成交额15.60亿元,跌幅-0.04%。

1天前

早间主流货币行情播报

【亚投财经】主流货币数据显示:BTC最新价45,623.99元,最高价0元,最低价0元,24小时成交额216.68亿元,涨幅1.04%;ETH最新价1,613.3元,最高价0元,最低价0元,24小时成交额117.62亿元,涨幅1.95%;XRP最新价4.05元,最高价0元,最低价0元,24小时成交额79.53亿元,涨幅4.84%;EOS最新价40.02元,最高价0元,最低价0元,24小时成交额48.21亿元,涨幅1.73%;LTC最新价422.78元,最高价0元,最低价0元,24小时成交额33.20亿元,涨幅0.26%;ETC最新价78.21元,最高价0元,最低价0元,24小时成交额15.60亿元,跌幅-0.04%。

1天前

晚间币市行情播报

【亚投财经】主流货币数据显示:BTC最新价45,623.99元,最高价0元,最低价0元,24小时成交额216.68亿元,涨幅1.04%;ETH最新价1,613.3元,最高价0元,最低价0元,24小时成交额117.62亿元,涨幅1.95%;XRP最新价4.05元,最高价0元,最低价0元,24小时成交额79.53亿元,涨幅4.84%;EOS最新价40.02元,最高价0元,最低价0元,24小时成交额48.21亿元,涨幅1.73%;LTC最新价422.78元,最高价0元,最低价0元,24小时成交额33.20亿元,涨幅0.26%;ETC最新价78.21元,最高价0元,最低价0元,24小时成交额15.60亿元,跌幅-0.04%。

1天前

主流货币涨跌榜播报

根据【亚投财经】数据显示,过去24h主流货币变化情况如下:NAS最新价11.99元,涨幅22.66%;LET最新价0.07元,涨幅14.46%;RUFF最新价0.16元,涨幅12.29%;DTA最新价0.02元,涨幅7.98%;ITC最新价1.89元,跌幅-0.36%;ZEC最新价899.05元,跌幅-0.93%;STORJ最新价1.88元,跌幅-1.45%;STEEM最新价7.03元,跌幅-3.75%。

0
打开微信“扫一扫”,打开网页后点击屏幕右上角“分享”按钮