一.开发环境安装及其搭建 1.安装node 最好v8的可以使用ES6语法2.安装ganacheganache介绍:虽说真实发布必须要使用前文说到的三种方法geth,parity,或其它服务商,但是测试开发环境下,有一款本…
标签:以太坊
使用 Node.js 在开放交易所OceanOne上挂单买卖奔驰币
在上一课中,我们介绍了如何在OceanOne交易比特币。OceanOne支持交易任何Mixin Network上的token,包括所有的ERC20和EOS token,不需要任何手续和费用,直接挂单即可。下面介绍如何将将…
Web程序员如何入门以太坊开发
我经常构建使用以太坊的Web应用程序,我理所当然地认为每天都使用的是神奇的工具集。我们的生态系统正在迅速发展,我认为很多新人都感到不知所措。以太坊是一项了不起的技术,但它也是新生的,而且根本没有足够的时间让专业知识充分渗…
以太坊事件框架
过去在学Actor模型的时候,就认为异步消息是相当的重要,在华为的时候,也深扒了一下当时产品用的消息模型,简单实用,支撑起了很多模块和业务,但也有一个缺点是和其他的框架有耦合,最近看到以太坊的事件框架,同样简单简洁,理念…
以太坊源码分析:fetcher模块和区块传播
前言 这篇文章从区块传播策略入手,介绍新区块是如何传播到远端节点,以及新区块加入到远端节点本地链的过程,同时会介绍fetcher模块,fetcher的功能是处理Peer通知的区块信息。在介绍过程中,还会涉及到p2p,et…
以太坊源码分析:共识(3)Ethash
前言 Ethash实现了PoW,PoW的精妙在于通过一个随机数确定,矿工确实做了大量的工作,并且是没有办法作弊的。接下来将介绍: Ethash的挖矿本质。 Ethash是如何挖矿的。 如何验证Ethash的随机数。 Et…
以太坊源码分析:共识(2)引擎
前言 engine是以太坊封定义的一个接口,它的功能可以分为3类: 验证区块类,主要用在将区块加入到区块链前,对区块进行共识验证。 产生区块类,主要用在挖矿时。 辅助类。 接下来我们看一下engine具体定义了哪些功能,…
以太坊源码分析—Ethash共识算法
Ethereum当前和Bitcoin一样,采用基于工作量证明(Proof of Work,PoW)的共识算法来产生新的区块。与Bitcoin不同的是,Ethereum采用的共识算法可以抵御ASIC矿机对挖矿工作的垄断地位…
以太坊源码分析—p2p节点发现与协议运行
前言 p2p(peer to peer)负责以太坊底层节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大部分。 节点发现 节点发现功能主要涉及 Server Table udp 这几个数据结构,它们…
以太坊源码分析—账户的管理
前言 以太坊是一个巨大的状态机,在网络中,每一个全节点都保存着以太坊状态机的全部历史,只要愿意,我们可以查询到任何时刻的状态(黄皮书中World State),而账户状态便是其中的状态,这部分功能由主要由代码中的stat…
以太坊源码分析—交易的执行
前言 以太坊是一个运行智能合约的平台,被称作可编程的区块链,允许用户将编写的智能合约部署在区块链上运行。而运行合约的主体便是以太坊虚拟机(EVM) 区块 交易 合约 区块链由区块(Block)组成,而区块中打包一定数量的…
以太坊源码分析—挖矿与共识
前言 挖矿(mine)是指矿工节点互相竞争生成新区块以写入整个区块链获得奖励的过程.共识(consensus)是指区块链各个节点对下一个区块的内容形成一致的过程在以太坊中, miner包向外提供挖矿功能,consensu…