etherenum
文章平均质量分 58
The_Web3_社区
The Web3 是一个专注 Web3 技术解决方案设计与开发、技术教程设计与开发、Web3 项目投研分析和 Web3 项目孵化,旨在将开发者,创业者,投资者和项目方联系在一起的社区。
展开
-
以太坊源码目录结构分析
转载 2018-05-09 10:28:37 · 3095 阅读 · 0 评论 -
以太坊HD钱包地址生成方式一
使用nodeJs生成以太坊HD钱包地址代码var bip39 = require('bip39')var hdkey = require('ethereumjs-wallet/hdkey')var util = require('ethereumjs-util')var mnemonic = bip39.generateMnemonic()var seed = bip39.mne...原创 2018-09-05 16:08:49 · 6034 阅读 · 0 评论 -
区块链轻钱包nodejs生成本地keystore
以下函数接受用户输入密码和传入keystore的存储路径,返回私钥 var fs = require("fs"); var keythereum = require("keythereum"); function CreateAccount(passwd, path){ var params = { keyBytes: 32, ivBytes: 16 }...原创 2018-06-08 07:53:35 · 2197 阅读 · 2 评论 -
Eth和EthClient代码目录详细说明
一级目录 eth:以太坊协议ethclient :以太坊RPC API客户端 二级目录downloader:手动全链同步,主要负责区块链最开始的同步工作,当前的同步有两种模式, 一种是传统的fullmode,这种模式通过下载区块头,和区块体来构建区块链,同步的过程就和普通的区块插入的过程一样,包括区块头的验证,交易的验证,交易执行,账户状态的改变等操作,这其实是一个比较消耗CPU和磁...原创 2018-05-12 11:17:15 · 3381 阅读 · 0 评论 -
Geth代码目录详解
abigen:一个源代码生成器,它将Ethereum智能合约定义(代码) 转换为易于使用的、编译时类型安全的Go package。 如果合约字节码也available的话,它可以在普通的Ethereum智能合约ABI上扩展功能。 同时也能编译Solidity源文件,使开发更加精简。bootnode:该节点为Ethereum发现协议运行一个引导节点。clef:Clef可以...原创 2018-05-12 11:15:37 · 1188 阅读 · 0 评论 -
从命令行开始解析生成创世块源码
创建创世块的代码解析在cmd的geth目录下的main.go中init函数先于main函数执行,做命令的初始化,其中比较重要的有三个地方,app.Action=geth,app.Commands中consoleCommand,以及App.Before指向的匿名函数func init() { // Initialize the CLI app and start Geth ...原创 2018-05-12 11:10:51 · 1633 阅读 · 0 评论 -
从命令行开始解析同步区块的代码
从命令行开始解析同步区块的代码一.同步简介我们都知道geth支持三种同步模式fast模式:从开始到结束,获取区块的header,获取区块的body,从创始块开始校验每一个元素,需要下载所有区块数据信息。速度最慢,但是能获取到所有的历史数据。full模式:获取区块的header,获取区块的body,在同步到当前块之前不处理任何事务。然后获得一个快照,此后,像full节点一样进行后...原创 2018-05-12 11:08:04 · 652 阅读 · 0 评论 -
从命令行开始解析以太坊新建账户过程(geth account new命令)
从命令行开始解析以太坊新建账户过程(geth account new命令)如上图是生成一个账户的过程,最后的账户表现为一个地址那么,这个过程的代码是怎么实现的呢,接下来我们从main函数命令行开始解析这个过程的代码。在cmd/geth/main.go中的init函数中,有一个accountCommand的命令行参数func init() { // Initialize the ...原创 2018-05-12 11:04:14 · 6887 阅读 · 0 评论 -
cmd中Geth重要衔接包代码简析
Geth中的main函数中调用了一个Run方法,该方法属于包cli中的类App的一个成员方法,下面是Run函数的具体实现func (a *App) Run(arguments []string) (err error) { a.Setup() // handle the completion flag separately from the flagset since ...原创 2018-05-12 11:02:13 · 303 阅读 · 0 评论 -
Geth启动流程代码解析(完整解析)
Geth启动流程代码解析(完整解析)init函数主要是做了一些初始化的工作,其中比较重要的有三个地方,app.Action=geth,app.Commands中consoleCommand。启动流程走的是consoleCommand命令语句:func init() { // Initialize the CLI app and start Geth app.Action =...原创 2018-05-12 10:58:37 · 2404 阅读 · 1 评论