truffle是世界级的以太坊开发框架。
上篇文章《以太坊交易签名过程源码解析[1]》从源码角度分析了一个合约调用的的签名过程,签名后的交易发送到以太坊节点后,节点需要从签名交易中还原出公钥(从公钥中单向计算出账号地址),进而将交易放入交易池中。本文从go-ethereum源码的出发,看看如何从签名交易中还原出公钥。
以太坊在去年升级的go-ethereum(geth)1.9.0大版本,除了性能得到大幅提升之外,引入了GraphQL,一种节点接口查询机制,用以补充JSON-RPC。本文将会介绍GraphQL是什么,Geth[1]为什么要引入GraphQL以及如何使用GraphQL三个方面对以太坊的GraphQL做一个介绍。
以太坊的最大优势之一是其公共账本内交易记录的不可篡改性,这些交易包括Token的转移,合约的部署以及合约交易。以太坊网络上的任何节点都可以验证每笔交易的有效性和状态,从而使以太坊成为一个非常强大的去中心化系统。
本周,基于以太坊的去中心化交易所DeversiFi(前身为Ethfinex)成为了全球吞吐量最高的去中心化交易所(DEX),其实时测试的交易速度超过每秒9000次。它成为第一个将StarkWare的ZK-STARK技术应用于实际的DEX公司,从而实现了这一点。
在以太坊上,真正的随机性几乎是不可能的。这是因为事务需要由网络上的多个节点进行验证才能确认。如果智能合约功能确实是随机的,那么使用该功能验证交易的每个节点将得出不同的结果,这意味着该交易将永远不会被确认。
最近我的脑中总是浮现世界末日之后的荒原。就像电影《疯狂的麦克斯:狂暴之路》中的一个场景。主角们刚刚逃脱了第一波追捕,并领先于可能的追捕者。他们需要继续前进,但也需要对电影中的关键部分进行维护:一辆能够帮助他们逃出生天的巨型“战车”。因此,主角Charlize Theron在途中爬到车底进行维修:
以太坊go-ethereum在1.8.4版本中就开始引入了Clef,并在1.9.0版本中进行了较大的升级,其主要目的是以一种更安全、独立的方式替代以太坊节点的账号管理模块。Clef最终目标是代替Geth的节点账号管理,可用来对交易进行签名。Clef可以使DApp不必依赖Geth的帐户管理,当DApp需要对数据(或交易)进行签名时,可以将数据发送给Clef,在经过授权同意后,Clef将把签名返回给DApp。