随笔分类 -  以太坊

君士坦丁堡分叉引起的安全问题
摘要:君士坦丁堡分叉引起的安全问题 <! @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} 一. 什么是君士坦丁堡分叉 君士坦丁堡是最近以太坊的大事,主要做了一下改进 EIP 145:由两位以太坊开发人员Alex Ber 阅读全文
posted @ 2019-01-18 22:40 baizx 阅读(502) 评论(0) 推荐(0) 编辑
从一起“盗币”事件再谈合约安全问题
摘要:从一起“盗币”事件再谈合约安全问题 <! @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} 本来是受到 "从一起“盗币”事件看以太坊存储 hash 碰撞问题" 一文启发,但是我并不太认同文中的观点.并且文中有一些技 阅读全文
posted @ 2018-11-15 12:05 baizx 阅读(1583) 评论(3) 推荐(0) 编辑
Plasma Cash合约解读
摘要:Plasma Cash合约解读 "SmartPlasma 合约解读" "1. 合约代码" "2. 合约文件简单介绍" "3. Plasma Cash 的基础数据结构" "3.1 Plasma Cash 中的资产" "3.2 Plasma Cash中的交易" "3.3 Plasma Cash 中的 B 阅读全文
posted @ 2018-09-14 21:46 baizx 阅读(632) 评论(0) 推荐(0) 编辑
比特币指令集
摘要:比特币指令集 本文主要译自 "比特币 wiki" 约定 数字是小端编码,也就是遵循英特尔处理器的规则 整数的编码规则是最高位表示付好,对于一个字节的整数,0x81表示 1,0x80表示负0,0x03 表示3,0x83表示 3 0表示 False, 其他表示 True 常数指令 名字 | 指令| 十 阅读全文
posted @ 2018-08-14 17:29 baizx 阅读(1979) 评论(0) 推荐(0) 编辑
以太坊系列之十八: 百行go代码构建p2p聊天室
摘要:百行go代码构建p2p聊天室 "百行go代码构建p2p聊天室" "1. 上手使用" "2. whisper 原理" "3. 源码解读" "3.1 参数说明" "3.1 连接主节点" "3.2 我的标识" "3.2 配置我的节点" "3.3 哪个聊天室" "3.3 加入聊天室" "3.4 群发消息" 阅读全文
posted @ 2017-09-11 15:07 baizx 阅读(6511) 评论(4) 推荐(1) 编辑
以太坊系列之十: 使用Etherum Wallet(Mist)连接私有链
摘要:使用Etherum Wallet(Mist)连接私有链 "使用Etherum Wallet(Mist)连接私有链" 连接私有链) "首先启动geth" "启动钱包(Mist)" ) 直接启动Mist的时候,钱包会直接连接公有链,而在开发过程中,我们希望连接私有链. 首先启动geth 先启动geth, 阅读全文
posted @ 2017-08-03 11:57 baizx 阅读(4936) 评论(0) 推荐(0) 编辑
以太坊系列之九: 从零一步一步搭建以太坊私有链
摘要:从零一步一步搭建以太坊私有链 我会说明一步一步怎么做,同时说明可能的注意事项。 1.下载geth 这一步网上很多,就不细说了,windows的,linux的,mac都有。 2. 创建genesis.json 关于genesis文件的介绍,在此处:http://blog.csdn.net/sports 阅读全文
posted @ 2017-08-02 15:42 baizx 阅读(2740) 评论(0) 推荐(0) 编辑
以太坊系列之七: p2p模块的dial--以太坊源码学习
摘要:dial.go阅读手记 dial.go是负责和peer建立连接关系的地方,主要是实现 其中最复杂的是newTasks,是建立新的连接,从test代码中可以看出, 要在指定的最大连接数(peers)基之上去创建新的连接 lookupBuf // current discovery lookup res 阅读全文
posted @ 2017-06-08 16:43 baizx 阅读(3635) 评论(0) 推荐(0) 编辑
以太坊系列之六: p2p模块--以太坊源码学习
摘要:p2p模块 p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输. Server使用discover模块,在指定的UDP端口管理网络中结点的发现以及维护,discover模块能够直接和临近结点交换各自已知结点信息,从而不断的更新 阅读全文
posted @ 2017-06-08 16:42 baizx 阅读(3062) 评论(1) 推荐(1) 编辑
以太坊系列之三: 以太坊的crypto模块--以太坊源码学习
摘要:以太坊的crypto模块 该模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp256k1,需要cgo,另外一种是依赖 "github.com/btcsuite/btcd" ,这是一 阅读全文
posted @ 2017-06-03 09:21 baizx 阅读(12717) 评论(1) 推荐(2) 编辑
以太坊系列之二: 单调时间monotime-以太坊源码学习
摘要:在程序中需要测量时间时最好使用monotime.Now()而不是time.Now(),相比之下前者更准确. 来个示例: 可以看到,精确到毫秒级 ,以太坊中用来度量时间 阅读全文
posted @ 2017-06-01 14:35 baizx 阅读(2641) 评论(1) 推荐(1) 编辑
以太坊系列之一: 以太坊RLP用法-以太坊源码学习
摘要:"RLP" (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式。RLP的唯一目标就是解决结构体的编码问题;对原子数据类型(比如,字符串,整数型,浮点型)的编码则交给更高层的协议;以太坊中要求数字必须是一个大端字节序的、没有零占位的存储的格式 阅读全文
posted @ 2017-06-01 14:15 baizx 阅读(10778) 评论(2) 推荐(1) 编辑