摘要: ### cmd包分析 #### cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 ##### geth包下面的: ``` func init() { // Initiali... 阅读全文
posted @ 2019-01-08 11:34 Mr.zzz 阅读(100) 评论(0) 推荐(0) 编辑
摘要: ### cmd包概述 * geth 主要Ethereum CLI客户端。它是Ethereum网络(以太坊主网,测试网络或私有网)的入口点,使用此命令可以使节点作为full node(默认),或者archive node(保留所有历史状态)或light no... 阅读全文
posted @ 2019-01-08 11:32 Mr.zzz 阅读(31) 评论(0) 推荐(0) 编辑
摘要: ## 区块存储 区块的存储是由leveldb完成的,leveldb的数据是以键值对存储的。在这里保存区块信息时,key一般是与hash相关的,value所保存的数据结构是经过RLP编码的。 在代码中,core/database_util.go中封装了区块存储... 阅读全文
posted @ 2019-01-08 11:31 Mr.zzz 阅读(43) 评论(0) 推荐(0) 编辑
摘要: # Awesome Ethereum [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.sv... 阅读全文
posted @ 2019-01-08 11:29 Mr.zzz 阅读(77) 评论(0) 推荐(0) 编辑
摘要: ##数据结构分析 以太坊的账户管理定义在accounts/manager.go中,其数据结构为: ``` // Manager is an overarching account manager that can communicate with variou... 阅读全文
posted @ 2019-01-08 11:28 Mr.zzz 阅读(49) 评论(0) 推荐(0) 编辑
摘要: ## 1.personal.newAccount创建账户方法 用户在控制台输入personal.newAccount会创建一个新的账户,会进入到ethapi.api中的newAccount方法中,这个方法会返回一个地址。 ``` func (s *Priva... 阅读全文
posted @ 2019-01-08 11:25 Mr.zzz 阅读(86) 评论(0) 推荐(0) 编辑
摘要: accounts包实现了以太坊客户端的钱包和账户管理。 账号的数据结构: typeAccount struct { Address common.Address `json:"address"` // Ethereum account addr... 阅读全文
posted @ 2019-01-08 11:18 Mr.zzz 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-01-08 11:13 Mr.zzz 阅读(27) 评论(0) 推荐(0) 编辑
摘要: go-ethereum项目的组织结构基本上是按照功能模块划分的目录,下面简单介绍一下各个目录的结构 accounts 实现了一个高等级的以太坊账户管理 bmt 二进制的默克尔树的实现 build ... 阅读全文
posted @ 2019-01-08 11:12 Mr.zzz 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究。 https://blog.csdn.net/yincheng01/article/details/80304070 go-ethereum的设计思路及模... 阅读全文
posted @ 2019-01-08 11:11 Mr.zzz 阅读(76) 评论(0) 推荐(0) 编辑