介绍 编写 Go 代码不需要像写 C/C++ 那样手动的 malloc和 free内存,因为 malloc 操作由 Go 编译器的逃逸分析机制帮我们加上了,而 free 动作...
IP属地:江苏
介绍 编写 Go 代码不需要像写 C/C++ 那样手动的 malloc和 free内存,因为 malloc 操作由 Go 编译器的逃逸分析机制帮我们加上了,而 free 动作...
介绍 了解操作系统对内存的管理机制后,现在可以去看下 Go 语言是如何利用底层的这些特性来优化内存的。Go 的内存管理基本上参考 tcmalloc 来实现的,只是细节上根据自...
写在篇头 本文是对以太坊的黄皮书的解析,并参照go-ethereum中的实现,将相应的代码也列了出来。黄皮书中使用了大量的公式将以太坊的一些流程和状态都公式化了。看不看得懂公...
三、交易执行 交易执行是以太坊中最为重要的部分。 在执行交易之前首先需要对交易进行初步校验: 交易是RLP格式的,无多余字符 交易的签名是有效的 交易的nonce是有效的(与...
六、虚拟机的执行模型 上文三四五部分都是从流程上对交易执行(包括合约创建和合约调用)进行了介绍。本章节介绍以太坊中的虚拟机执行的流程。以太坊虚拟机EVM是图灵完备虚拟机器。E...
1. 编译geth geth是以太坊开发中最常用的工具,是官方客户端。可以运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等。 由于我们在以太坊的基础上进行了一些...
写在篇头 本篇要介绍的内容大概是回答以下几个问题。 geth是怎样或者使用何种技术在终端中实现了一个javascript的运行环境的。 在终端中输入的一个命令是如何调到以太坊...
基础知识 Trie树 Trie是一种搜索树,又称字典树(digital tree)和前缀树(prefix tree)。不同与二叉搜索树,键值并不是由树中的节点存储,而是取决于...