老鱼游啊游
码龄18年
关注
提问 私信
  • 博客:20,690
    20,690
    总访问量
  • 9
    原创
  • 2,178,859
    排名
  • 62
    粉丝
  • 0
    铁粉

个人简介:后端-->手机端-->区块链

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2007-04-12
博客简介:

cj2094的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得13次评论
  • 获得15次收藏
创作历程
  • 9篇
    2018年
成就勋章
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

以太坊源码深入分析(9)-- 以太坊通过EVM执行交易过程分析

上一节分析了同步一个新的区块准备插入本地BlockChain之前需要重放并执行新区块的所有交易,并产生交易收据和日志。以太坊是如何执行这些交易呢?这就要请出大名鼎鼎的以太坊虚拟机。以太坊虚拟机在执行交易分为两个部分,第一部分是创建EVM,计算交易金额,设置交易对象,计算交易gas花销;第二部分是EVM 的虚拟机解析器通过合约指令,执行智能合约代码,具体来看看源码。一,创建EVM,通过EVM执行交易...
原创
发布博客 2018.05.16 ·
2671 阅读 ·
2 点赞 ·
2 评论 ·
3 收藏

以太坊源码深入分析(8)-- 以太坊核心BlockChain源码分析

前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块BlockChain,也就是以太坊的区块链。1,BlockChain的初始化Ethereum服务初始化的时候会调用core.SetupGenesisBlock来加载创始区块。顾名思义,创始区块就是以太坊区块链中的第一个区块,number值为0。紧接着调用core.NewBlockChain来加载以太坊的区块链...
原创
发布博客 2018.05.09 ·
3469 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

以太坊源码深入分析(7)-- 以太坊Downloader源码分析

上一节分析到Fetcher用于同步网络节点的新区块和新的交易数据,如果新区块和本地最新的区块相隔距离较远,说明本地区块数据太旧,Fetcher就不会同步这些区块。这时候就要借助Downloader来同步完整的区块数据。一,启动DownloaderProtocolManager初始化的时候会进行Downloader的初始化:func New(mode SyncMode, stateDb ethdb....
原创
发布博客 2018.05.05 ·
1190 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

以太坊源码深入分析(6)-- 以太坊P2P协议接收广播的处理和Fetcher源码分析

上一节主要讲了Ethereum服务和以太坊P2P协议通讯模块ProtocolManager的初始化和启动,以及以太坊通讯协议如何广播给其他的网络节点。这一节讲讲,以太坊通讯协议如何处理接收到的广播消息。以及fetcher怎么工作。一,ProtocolManager接收网络节点广播消息首先看看p2p.Protocol的结构type Protocol struct { Name string Ve...
原创
发布博客 2018.04.28 ·
1981 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

以太坊源码深入分析(5)-- Ethereum服务和以太坊P2P协议发送广播源码分析

在“以太坊源码深入分析(2)”一文中,我们提到Ethereum作为一个service,被Node 注册进去。Node start的时候会启动其注册的所有服务,Ethereum service也是一样。一,ethereum service的初始化和启动初始化方法func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) ...
原创
发布博客 2018.04.25 ·
2229 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

以太坊源码深入分析(4)-- 以太坊RPC通信实例和原理代码分析(下)

上一节我们试着写了一个RPC的请求实例,通过分析源码知道了RPC服务的创建流程,以及Http RPC server创建过程,Http RPC Client的请求流程。这一节,先分析一下Http RPC server如何处理client的请求。然后再分析一下IPC RPC的处理流程。一,Http RPC server处理Client的请求。回到上一节startHTTP() 里面HTTPServer初...
原创
发布博客 2018.04.22 ·
1691 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

以太坊源码深入分析(3)-- 以太坊RPC通信实例和原理代码分析(上)

上一节提到,以太坊在node start的时候启动了RPC服务,以太坊通过Rpc服务来实现以太坊相关接口的远程调用。这节我们用个实例来看看以太坊 RPC是如何工作的,以及以太坊RPC的源码的实现一,RPC通信实例1,RPC启动命令 :geth --rpcgo-ethereum的RPC服务默认地址:http://localhost:8545/通过以下命令修改默认地址和端口:geth --rpc --...
原创
发布博客 2018.04.20 ·
3742 阅读 ·
3 点赞 ·
6 评论 ·
4 收藏

以太坊源码深入分析(2)-- go-ethereum 客户端入口和Node分析

一,geth makefile 以及编译逻辑上篇提到用 make geth 来编译geth客户端。我们来看看make file做了什么: geth: build/env.sh go run build/ci.go install ./cmd/geth @echo "Done building." @echo "Run \"$(GOBIN)/geth\" to launch ge...
原创
发布博客 2018.04.10 ·
1937 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

以太坊源码深入分析(1)--下载、编译、启动go-ethereum

这段时间一直在研究区块链技术,同时也在加紧研发自己公司的区块链钱包,对区块链相关技术有一定的研究心得,希望通过博文来记录和分享自己的一些心得体会,也欢迎对文章感兴趣的朋友来跟我交流和讨论。笔者打算从以太坊源码分析专栏写起,后面会分析Hyperledger Fabric源码,以及比特币的源码。这里要说明一下,为什么不从比特币源码分析写起:比特币作为区块链技术的鼻祖,它是每个区块链开发者永远的图腾,不...
原创
发布博客 2018.04.10 ·
1780 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

java和c++对比

发布资源 2011.11.27 ·
mht