以太坊浏览器的Internal Transactions检索功能(1)

    做了这么久的以太坊钱包发现,突然觉得最好的模型就是etherscan,如果能做的和etherscan一样,估计就能超越90%的钱包了。所以可以有计划的照着etherscan实现各种功能就好了,最近发现etherscan都支持了erc721,挺有意思的。不过今天的主角是Internal Transactions。

    Internal Transactions,我的理解就是你给合约发起了一笔交易,然后合约根据当前的环境进行一系列的动作,可能是eth转账,也可能是调用新的合约或者其他一些数据的操作;这些动作其实都是在节点内部进行的,或者你可以认为是在evm里进行的;这里有问题,我们通过现有一些接口不容易捕获到这些动作,因为他们都位于evm中;我觉得严格意思来说,这并不是交易,而是执行合约的一个附带结果;实际的交易是用户和合约之间的转账;

    从这个Internal Transactions我们可以看出来以太坊处理交易的内部实现,当一笔交易被打包进块被广播后,节点接受了这笔交易后,其实需要自己在把这笔交易执行一遍的,虽然以太坊是个分布式网络,但是每个节点的环境或者上下文应该是一致的,(其实分叉就是节点环境不一致的情况)所以每个节点的evm执行相同的交易,结果是一致的。

   现在我们返回理解Internal Transactions,你对合约发起了一笔交易,打包进区块,广播;其他节点接受到区块后,会对里边的交易进行重放,即重新执行一次;这样Internal Transactions交易就会在该节点上生效,也会在整个网络上同步了数据。

    可能理解的不正确,欢迎指正,下一篇会讨论如何实现Internal Transactions这个功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0xweb3q

有钱的捧个钱场,没钱的捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值