Ethereum 源码分析之 accounts】的更多相关文章

一.Account // Account represents an Ethereum account located at a specific location defined // by the optional URL field. // Account,代表一个位于由可选的URL字段定义的具体位置的以太坊账户 // Address,地址是20个字节,由私钥衍生..URL,可选字段,后端的资源位置 type Account struct { Address common.Address…
前言 在上一章介绍了关于区块链的一些基础知识,这一章会分析指令 geth --datadir dev/data/02 init private-geth/genesis.json 的源码,若你的ethereum的debug环境还没有搭建,那么需要先搭建ethereum的dabug环境. 准备工作 创建文件 genesis.json ,内容如下: { "config": { "chainId": 666, //可用于网络标识,在eip155里有用到,目前来看是做重放保…
核心数据结构: core.types.transaction.go type Transaction struct { data txdata // caches hash atomic.Value size atomic.Value from atomic.Value } Transaction.data type txdata struct { AccountNonce uint64 `json:"nonce" gencodec:"required"` Pric…
前言 在上一章我们介绍了 ethereum运行开启console 的过程,那么在这一章我们将会介绍如何在以太坊中创建一个新的账号.以下的理解可能存在错误,如果各位大虾发现错误,还望指正. 指令分析 指令: personal.newAccount(password) 介绍:上面的指令的主要的作用是生成一个account 分析: password 是一个字符串,即你为账户设置的密码(ps:这个密码跟身份验证有关) 例子: 首先我们先需要开启console,开启之后会在控制台出现下图的信息: 然后我们…
前言 在上一章我们介绍了  ethereum初始化指令 ,包括了系统是如何调用指令和指令的执行.在本章节我们将会介绍 geth --datadir dev/data/ --networkid console 指令. 指令分析 指令: geth --datadir dev/data/ --networkid console 介绍:上面的指令主要的工作为: 运行eth程序 开启控制台 分析: --datadir :指定eth的数据存储地址为 dev/data/ --networkid :指定eth的…
accounts 实现了一个高等级的以太坊账户管理     bmt          二进制的默克尔树的实现     build           主要是编译和构建的一些脚本和配置     cmd          命令行工具,又分了很多的命令行工具,下面一个一个介绍         /abigen     ABI生成器,Application Binary Interface, 应用二进制接口,在以太坊生态系统中,它是一个标准的用来与合约交互的方式         /bootnode   启…
前言 上一章我们介绍了如何搭建ethereum的debug环境.为了更深入的了解ethereum,我们需要了解一些ethereum的相关的知识,本章我们将介绍这些知识. ethereum相关知识 在学习ethereum的过程中,我们可能会遇到下面的一些知识: hash merkle tree merkle patricia tree rlp Hash(散列函数) Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长…
前言 因为最近云小哥哥换了一份工作,新公司比较忙,所以一直没有更新新的博客.云小哥哥新的公司是做区块链的,最近在学习区块链相关的东西(也算是乘坐上了区块链这艘大船).本博客是记录我搭建ethereum的debug环境的步骤. 系统环境及工具 操作系统:mac 10.13.4 ide:go-land 版本控制:git go-lang:go version go1.10.3 darwin/amd64 通过 brew 就可以安装上述提到的所有工具,其他操作系统请自行安装上述工具. 搭建ethereum…
1.1 dialer拨号 拨号盘点击拨号DialpadFragment的onClick方法会被调用 public void onClick(View view) { int resId = view.getId(); if (resId == R.id.dialpad_floating_action_button) { view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); handleDialButtonPressed(…
系统合约在链启动阶段就会被部署,是因为系统合约赋予了EOS链资源.命名拍卖.基础数据准备.生产者信息.投票等能力.本篇文章将会从源码角度详细研究system合约. 关键字:EOS,eosio.system,智能合约,name类型,native.hpp,newaccount,bidname,core token init,onblock,更新已入选生产节点 eosio.system 概览 笔者使用的IDE是VScode,首先来看eosio.system的源码结构.如下图所示. 本文分析的源码来自于…