近期打算写一些关于以太坊虚拟机(后面简称EVM)的文章,这是其中的第一篇。这一系列文章想站在EVM指令集的角度,带领读者逐步理解EVM工作原理,进而理解以太坊区块链技术细节。由于网上介绍以太坊的文章也比较多,所以这一系列文章将最大程度减少不必要的废话,直接提供文章想要表达的信息。 EVM基本信息编程 ...
分类:
其他好文 时间:
2018-11-22 00:13:20
阅读次数:
239
以太坊虚拟机比较操作指令 EVM定义了6条比较操作指令,见下表: 下面是比较操作指令的操作码分布图: LT、GT、SLT、SGT、EQ这5条指令都是从栈顶弹出两个元素,进行比较,然后把结果(1表示true,0表示false)推入栈顶。其中LT和GT把弹出的元素解释为无符号整数进行比较,SLT和SGT ...
分类:
其他好文 时间:
2018-11-22 00:07:29
阅读次数:
161
以太坊虚拟机算术运算指令EVM总共定义了11条算术运算指令,见下表: 这些指令从栈顶弹出两到三个元素,进行相应计算,然后把结果推入栈顶。参与计算的元素和结果均被解释为按二的补码编码的整数。如果计算结果(假设为x)溢出(超出2^256),则最终的结果x’取值x % 2^256(%表示取模运算,^表示指 ...
分类:
其他好文 时间:
2018-11-22 00:06:05
阅读次数:
136
以太坊虚拟机按位运算指令 EVM定义了8条按位运算指令,见下表: 下面是按位运算指令的操作码分布图: AND、OR、XOR、NOT AND、OR、XOR指令从栈顶弹出两个元素,进行按位运算,然后把结果推入栈顶。以AND指令为例,下面是它的操作示意图: NOT指令将栈元素按位取反,下面是它的操作示意图 ...
分类:
其他好文 时间:
2018-11-22 00:01:50
阅读次数:
275
某项目12个月工期,每月2万,计划截止12.12完成5个月任务量,实际完成4个月任务量,实际支出12万。参数:PV=52=10w;EV=42=8w;AC=6*2=12w;公式:进度绩效:SPI=EV/PV=8/10=4/5;成本绩效:CPI=EV/AC=8/12=2/3;完工预算:BAC=122=24w;完工尚需估算:ETC=82=16w;完工估算:1、EAC=BAC/CPI=24/(2/3)=3
分类:
其他好文 时间:
2018-11-21 00:19:17
阅读次数:
251
在该系列文章的前部分,我们学了EVM汇编基础,也学了ABI编码是如何允许外部程序与合约进行通信的。在本文中,我们将会学习一个合约是如何从零创建的。 本系列的相关文章(按照顺序): EVM汇编代码的介绍(第1部分) 固定长度数据类型的表示方法(第2部分) 动态数据类型的表示方法(第3部分) ABI编码 ...
分类:
其他好文 时间:
2018-11-15 13:58:00
阅读次数:
261
以太坊是一个去中心化的、运行智能合约的平台。该平台支持图灵完备的应用,按照智能合约的约定逻辑自动执行,理想情况下将不存在故障停机、审查、欺诈,以及第三方干预等问题。 它的目标是构建永不停机的应用。以太坊的官网地址:https://www.ethereum.org/ 以太坊区块链底层也是一个类似比特币 ...
分类:
其他好文 时间:
2018-11-15 11:04:33
阅读次数:
155
1. u boot/drivers/mtd/spi/sf_params.c 这个文件定义了支持的nor flash 2. 依据不同的型号更改配置 ··· diff git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig in ...
分类:
移动开发 时间:
2018-11-13 10:26:11
阅读次数:
202
今天在整理之前的项目的时候想着有的action层没有做异常处理,于是想着自定义拦截器处理一下未拦截的异常。 代码: 1.异常在Action层未做处理的情况: 由于在web.xml中定义了500错误的页面,因此跳转到500页面,如下: 可是上面终究不够友好。 2.自定义拦截器处理全局异常 (1)自定义 ...
分类:
其他好文 时间:
2018-11-02 01:52:08
阅读次数:
264
在本系列的上一篇文章中我们看到了Solidity是如何在EVM存储器中表示复杂数据结构的。但是如果无法交互,数据就是没有意义的。智能合约就是数据和外界的中间体。 在这篇文章中我们将会看到Solidity和EVM可以让外部程序来调用合约的方法并改变它的状态。 “外部程序”不限于DApp/JavaScr ...
分类:
其他好文 时间:
2018-11-01 12:34:25
阅读次数:
257