自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的架构师之路

坐亦禅,行亦禅,一花一世界,一叶一如来,春来花自青,秋至叶飘零,无穷般若心自在,语默动静体自然。

  • 博客(10)
  • 收藏
  • 关注

原创 以太坊虚拟机原理及源代码深入挖掘

一. 概述 EVM为以太坊虚拟机,以太坊底层通过EVM支持智能合约的执行和调用。调用智能合约时根据合约的地址获取合约代码,生成具体的执行环境,然后将代码载入到EVM虚拟机中运行。通常目前开发智能合约的高级语言为Solidity,在利用solidity实现智能合约逻辑后,通过编译器编译成元数据(字节码)最后发布到以太坊上。 二. 架构设计 1. 位宽设计 ...

2019-04-19 20:02:14 3154

转载 以太坊-虚拟机第5部分——一个新合约被创建后会发生什么

在该系列文章的前部分,我们学了EVM汇编基础,也学了ABI编码是如何允许外部程序与合约进行通信的。在本文中,我们将会学习一个合约是如何从零创建的。本系列的相关文章(按照顺序):EVM汇编代码的介绍(第1部分) 固定长度数据类型的表示方法(第2部分) 动态数据类型的表示方法(第3部分) ABI编码外部方法调用的方式(第4部分)我们目前所见的EVM字节码都是比较清晰明朗的,就是EVM从...

2019-04-15 09:56:10 519

转载 以太坊-EVM第4部分——ABI编码外部方法调用的方式

在本系列的上一篇文章中我们看到了Solidity是如何在EVM存储器中表示复杂数据结构的。但是如果无法交互,数据就是没有意义的。智能合约就是数据和外界的中间体。在这篇文章中我们将会看到Solidity和EVM可以让外部程序来调用合约的方法并改变它的状态。“外部程序”不限于DApp/JavaScript。任何可以使用HTTP RPC与以太坊节点通信的程序,都可以通过创建一个交易与部署在区块链...

2019-04-15 09:55:33 1705

转载 以太坊-EVM第3部分——动态数据类型的表示方法

Solidity提供了在其他编程语言常见的数据类型。除了简单的值类型比如数字和结构体,还有一些其他数据类型,随着数据的增加可以进行动态扩展的动态类型。动态类型的3大类:映射(Mappings):mapping(bytes32 => uint256), mapping(address => string)等等 数组(Arrays):[]uint256,[]byte等等 字节数组(...

2019-04-15 09:54:48 445

转载 以太坊-EVM第2部分——固定长度数据类型的表示方法

在本系列的第一篇文章中,我们已经看到了一个简单的Solidity合约的汇编代码:contract C { uint256 a; function C() { a = 1; }}该合约归结于sstore指令的调用:// a = 1sstore(0x0, 0x1)EVM将0x1数值存储在0x0的位置上 每个存储槽可以存储正好32字节(或...

2019-04-15 09:53:25 647

转载 以太坊-EVM汇编代码的介绍(第1部分)

Solidity提供了很多高级语言的抽象概念,但是这些特性让人很难明白在运行程序的时候到底发生了什么。我阅读了Solidity的文档,但依旧存在着几个基本的问题没有弄明白。string, bytes32, byte[], bytes之间的区别是什么?该在什么地方使用哪个类型? 将 string 转换成bytes时会怎么样?可以转换成byte[]吗? 它们的存储成本是多少?EVM是如何...

2019-04-15 09:52:24 1706

原创 (一).以太坊实战之windows开发环境配置(goland)

1. go语言安装 1.1. windows安装 安装以便使用Go很简单,只需要安装它的编译器就可以了.到官网下载地址下载windows所用的系统安装包,下载回来后点击安装即可。 选择下载msi包来进行安装,安装进行的同时还会替你设置好环境变量等。检验是否能正常使用只需要打开cmd或者powershell输入: go version 。如果出现以下的内...

2019-03-18 16:11:59 1402

原创 以太坊交易源码分析思维导图

2019-03-13 10:25:43 316

原创 (三)IPFS技术分享

2019-03-11 15:33:29 371

原创 (一)IPFS基础原理

简介 IPFS的中文名是星际文件系统,由Juan Benet在2014年5月份发起。2015年,他创建的IPFS在YCombinator孵化竞赛中拿到了巨额的投资,同时成立了协议实验室。这个实验室团队由14位核心开发者以及社区中上百位代码贡献者组成的。2017年8月份IPFS售出10%的代币,当时募集到了2.57亿美金。 IPFS本质上是一种内容可寻址、版本化、点对...

2019-03-11 14:35:20 5128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除