概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前端开发语言:HTML/CSS/JavaScript Linxu命令行的使用 数据库的基本概念 项目简介 我们构建一个去中心化的(Decentralized)投票应用.利用这个投票应用, 用户可以在不可信(trustless)的分布环境中对特定候选人投票,每次投票都会被记录在区块 链上:   所谓去中…
作用:用户交互 分布式应用(DApp)是运行在区块链之上的应用程序,支持区块链网络中用户之间的交互. DApp(decentralized application)的后端代码运行在区块链网络上,这个可以与普通互联网应用比较一下,普通互联网应用的后端代码运行在集中式的服务器上. DApp可以使用任何语言编写前端代码和用户界面(就像普通应用程序一样),前端调用后端实现实现功能. 如果一个互联网普通app可以表示为: App = 前端 + 后端服务器App=前端+后端服务器 则一个DApp可以表示为:…
背景 以太坊技术搭建的区块链网络,节点间需要保证时间一致,才能正常有序的发送交易和生成区块,使得众多节点共同维护分布式账本(区块数据+状态数据).但是,网络中节点的系统时间不一致回出现什么现象呢,我们通过2个例子来分析一下. 问题现象: 1. 以太坊节点启动时,报出时间未同步的警告日志: WARN [03-20|17:20:54] System clock seems off by -1m7.049442998s, which can prevent network connectivity W…
用途: 全节点:用于区块和交易的校验 轻节点:电子钱包 以太坊(Ethereum)网络是一个公共的区块链网络,网络中包含2种网络节点: 全节点 轻节点 全节点 包含了从初始区块开始的全部区块,这些区块中包含了所有的交易历史记录,这些信息是区块链完整性的证据,可用于区块和交易的校验.通常矿工节点应该是全节点. 轻节点 只包含区块头形成的链,为节省空间,去除了区块体.这些类型的节点主要用于电子钱包,电子钱包必须是轻量级的,因此不能存储整个区块链.轻节点不会用来校验区块或交易,但区块链是一个网络,如有…
智能合约的优点 与传统合同相比,智能合约有一些显著优点: 不需要中间人 费用低 代码就是规则 区块链网络中有多个备份,不用担心丢失 避免人工错误 无需信任,就可履行协议 匿名履行协议 以太坊(Ethereum) – 智能合约开发概述 支持智能合约的区块链 虽然以太坊(Ethereum)是最流行支持智能合约的区块链平台,但它并不是唯一支持智能合约的平台. 超级账本(Hyperledger) 是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目.通过创建分布式账本的公开标准,实…
什么是以太坊(Ethereum) 以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台.像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护.与比特币仅提供了有限功能的脚本不同,以太坊提供了一个“图灵完备”的虚拟机,称为以太坊虚拟机(Ethereum Virtual Machine),简称EVM,用户可以在EVM上创建智能合约(Smart Contract).以太坊平台中的通用货币为以太币(Ether),简称ETH,以太币可用于账号间的转账交易或…
很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术.从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化交易为主,比如各种山寨币.而以太坊将区块链带入了2.0的时代,区块链2.0不是推翻了1.0,而是在1.0的基础上实现了区块知晓.价值知晓.图灵完备,并进行了细节优化,从而形成了以…
作用:执行智能合约代码的引擎 以太坊(Ethereum)虚拟机是执行智能合约代码的引擎. 可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊(Ethereum)虚拟机支持的字节码/bytecode,然后该程序就可以在虚拟机中执行了. 以太坊(Ethereum)虚拟机可以被看做是一个大型的分布式计算机. 以太坊(Ethereum)以虚拟机为核心,支持开发各种应用程序,来充分挖掘区块链技术的应用场景和潜力. 以太坊(Ethereum)网络中运行的应用,被称为分布式应用 – DA…
以太坊的作用:构建基于区块链的分布式应用. 以太坊是什么:可编程的虚拟币. 以太坊(Ethereum)是一个可编程的虚拟币,它是一个基于公共区块链的分布式计算平台,可用于构建基于区块链的分布式应用. 在以太坊(Ethereum)出现之前,各种区块链应用的功能非常有限,例如,比特币和其他加密货币都只是纯粹的数字货币. 以太坊(Ethereum)创始人Vitalik Buterin将以太坊(Ethereum)设想为开发人员在区块链上编写程序的平台.为了实现此目标,Vitalik Buterin基于区…
以太坊(Ethereum)网络中,定义了一组通用协议用于支持智能合约的运行,其核心便是以太坊(Ethereum)虚拟机. 下图解释了该架构: 开发人员使用Solidity等开发语言开发智能合约 源程序被编译成以太坊虚拟机支持的字节码可执行程序 可执行程序被部署到网络中,即写入区块,并被分配一个账号(地址) 外部账号或其他合约账号,可以通过该智能合约的账号访问它 需要注意的是,以太坊(Ethereum)虚拟机不仅是完全沙箱化的,而且是完全隔离的.这意味着当前在EVM上运行的代码不能访问网络或文件系…
以太坊(Ethereum)与其他公共区块链一样,使用工作量证明机制确保区块链网络正常运行. 矿工进行工作量证明计算,即挖矿,来选择区块,写入区块链,确认交易. 交易过程如下图所示: 从技术角度来看,以太坊使用的工作量证明算法称为Ethash,这是一种哈希算法,灵感来自Dagger-Hashimoto算法.…
作用: 外部账号 – 用户使用的账号,账户余额. 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号,内存和账户余额 以太坊(Ethereum)网络中,有2种账号: 外部账号 – 用户使用的账号 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号 这些账号,都被称为状态对象/state object,构成了以太坊网络的状态.外部账号的状态是账户余额,合约账号的状态是内存与账户余额. 外部账号是用户账号,例如,普通用户.矿工等使用的账号. 合约账号是区块链网络中,位于特定地址(账号…
以太币的作用:防范以太坊网络被滥用和激励矿工. 与比特币网络有比特币类似,以太坊(Ethereum)也有自己的虚拟币 — 以太币. 以太币的主要作用有2个: 应用程序执行任何操作都需要支付以太币,防范以太坊网络被滥用. 与比特币类似,用于激励矿工. 每次执行智能合约时,都需要消耗“汽油/gas”,即支付以太币. 以太坊(Ethereum)中的汽油/gas 以太坊(Ethereum)区块链网络上,每一次操作的执行都需要消耗“汽油/gas”,用户需要支付“油费”,“油费”用以太币计算,价格由矿工决定…
以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Token(代币),这是第二篇,主要介绍钱包账号导出与导入,将对Keystore文件的生成的原理进行介绍. 如何导入Geth创建的账号? 在上一篇文章,介绍了如何使用私钥及助记词来创建账号,如果是使用已有的私钥及助记词,这其实也是账号导入的过程. 有一些同学会问,我的账号是Geth生成的,如何导入到钱包呢…
基于Vue.web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑. 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入go-ethereum源码执行过程. 分析思路:自上而下,从APP深入EVM. 从应用入手,如果一头扎进ethereum,收获的可能是纯理论的东西,要想有所理解还得结合以后的实践才能恍然大悟.所以我始终坚持从应用入手.自上而下是一种正确.事半功倍的方法论. 我在讲解以太坊基础概念的那篇专题文章里,用…
以太坊web3开发初步学习 此文是对https://learnblockchain.cn/2018/04/15/web3-html/的学习再理解. 以太坊智能合约通过使用web3.js前端和智能合约交互.web3.js是以太坊官方的js API, 用户可以通过web3.js提供的API通过http或者IPC与 本地的或者远程的以太坊节点进行交互. 主要有以下几种库 web3-eth //主要用来与以太坊和智能合约交互 web3-shh //用于控制whisper协议和p2p通信以及广播 web3…
以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Token(代币),本文是第四篇,Token(代币.通证)是以太坊的一大特色,既然开发钱包,则发送Token 功能必不可少. 合约 ABI 信息 首先我们需要明白,进行Token转账的时候,其实是在调用合约的转账函数,而要调用一个合约的函数,需要知道合约的 ABI 信息. 其次 通常我们所说的Token,…
最近,一位小伙伴向我咨询问题,说他发现了一个诡异的现象.以太坊的区块链中居然有全是0的地址:0x0000000000000000000000000000000000000000 这究竟是怎么回事儿呢? 查看区块链后,发现还是蛮有趣的,且听我慢慢道来. 神秘而富有的地址 用在线的区块链浏览器查看下这个地址,我勒个去,居然有7228个ETH,价值500多w刀呢. 这究竟是何方土豪?这些ETH又从何而来呢? 创世区块 之前的文章<以太坊(Ethereum)创世揭秘>中曾经提到过,ETH最主要的来源并…
以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只搭建环境,运行第一个区块链程序(Dapp). 安装truffle $ npm install -g truffle 依赖环境 NodeJS 访问https://nodejs.org 官方网站下载安装 系统:Windows, Linux or Mac OS X,推荐Mac OS X,不建议使用Wind…
ylbtech-未来-区块链-IBM:IBM 区块链技术开发社区 1.返回顶部 1. 开始学习 IBM Blockchain 101:开发人员快速入门指南 这篇快速入门指南适合不熟悉区块链技术,希望快速开始构建和试验区块链网络的应用程序开发人员. 什么是认知物联网 认知物联网是将认知计算技术与互连设备产生的数据和这些设备可以执行的操作结合使用.从认知计算方面讲,物联网是什么意思呢?在文本中也许您能找到答案. 数据分析 在这里可以了解大数据与分析的基本概念,并可以查找到相关技术文章和学习资料. I…
以太币的主要单位是以太/Ether,即一个以太币,以太币的最小单位是wei. 以太币最小单位 wei 是以虚拟币先驱人物:戴伟 Wei Dai 命名,戴伟 W Dai 是一位兴趣广泛的密码学专家,他在 1998 年发明了 B-money 匿名的.分布式的电子加密货币系统,强调点对点的交易和不可更改的交易记录.中本聪发明比特币的时候,借鉴了很多戴伟的设计,并和戴伟有很多邮件交流. 以太币的单位如下: 单位 Wei 值 Wei wei 1 wei 1 Kwei 1e3 wei 1,000 Mwei…
作用:提供优于传统合约的安全方法,并减少与合约相关的其他交易成本. 以太坊网络基石:以太坊虚拟币和智能合约. 智能合约(Smart contract )是一种旨在以信息化方式传播.验证或执行合同的计算机协议.智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转.智能合约概念于1995年由Nick Szabo首次提出. 智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本. 简单地说,智能合约可以理解为一个自执行的协议.智能合约可以自动处理协议的履行.管理.…
以太坊(Ethereum)是一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按程序设定运行,不存在停机.审查.欺诈.第三方人为干预的可能.以太坊平台由 Golang.C++.Python 等多种编程语言实现. 前段时间的The DAO事件让以太坊平台损失惨重,以太坊也分裂成ETC和ETH,平台的发展前景不明. 1.下载以太坊 官网地址 下载之后解压,运行 2.开始安装 2.1选择测试网络 前期选测试网络, 后期再讲主干网络 2.2输入密码 密…
如果问一块显卡它最恨什么,那么答案一定是以太坊.以太坊,矿工为之疯狂,显卡为之颤抖,游戏玩家为之骂娘. 然而,除了购买矿机.连接矿池.卖币套现之外,是否有人关注过以太坊的奖励机制呢? 且听我慢慢道来. 临时分叉 区块链由于是一种去中心化的技术,全世界所有的矿工同时工作,各自独立的挖掘满足要求的区块.由于是各自独立的工作,就有可能出现两个独立的矿工先后发现了两个不同的满足要求的区块,就像下面这种情况,被称为临时分叉. 注:箭头指向某区块代表它保存了前一个区块的Hash   两位矿工都发现了高度2的…
Blockchain is one of the buzzwords in IT world during some last months. This term is related to cryptocurrencies, and was created together with Bitcoins. It is decentralized, immutable data structure divided into blocks, which are linked and secured…
以太坊的出现,让人们的认识从比特币飞跃到了区块链本身.使得区块链技术在非金融领域的普遍应用成为可能,同时,也被认为是区块链2.0时代的标志,是区块链技术发展史上重要的里程碑. 以太坊的故事,要从比特币时代说起. 有一个神级天才程序猿,他的名字叫Vitalik Buterin,据传他3岁就开始写代码了,而各位在3岁的时候连1+1都搞不明白,不要灰心∪︿∪,这是普通种和神种的差别,而世界上大部分的都是普通种. 2013年,19岁的Vitalik Buterin,是一名比特币社区的程序员,曾向比特币核…
概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前端开发语言:HTML/CSS/JavaScript Linxu命令行的使用 数据库的基本概念 项目简介 我们构建一个去中心化的(Decentralized)投票应用.利用这个投票应用, 用户可以在不可信(trustless)的分布环境中对特定候选人投票,每次投票都会被记录在区块 链上:   所谓去中…
本文转自:https://baijiahao.baidu.com/s?id=1591291802129464257&wfr=spider&for=pc NEO,它可以与以太坊竞争吗?NEO和以太坊你会下重注投资其中的哪一个? 2013年年末,以太坊创始人Vitalik Buterin(V神)发布了以太坊初版白皮书,启动了项目.2014年7月24日起,以太坊进行了为期42天的以太币预售.2016年初,以太坊的技术得到市场认可,价格开始暴涨,吸引了大量开发者以外的人进入以太坊的世界.现在,几乎…
很多朋友不清楚如何转账ddw,但是万能的网友是无敌的,这两天就自己摸索的一点经验总结下今天的转账经验. 1. 提取到自己的账户 这个大家都知道如何操作,使用官方的钱包 在“日日盈app”中点击"我的设备”,点击提取收益,如果顺利币会瞬间提取到你的主账户钱包中 如果失败了(查看账户余额不为0则表示失败),稍后使用4G或者其他网络再次尝试,多次尝试后即可 2. 如何互相转账 2.1 请下载网友提供的以太坊万能钱包: 链接: https://pan.baidu.com/s/1myBZeh2B7nPDg…
今天,Origin开发团队很高兴地宣布在以太坊Rinkeby测试网络上推出Origin Protocol Demo DApp ! 在这个DApp中,你可以在不同垂直行业的solidarity economy中创建样本列表,例如度假租赁.门票.交通和简单的"待售"产品. 下面将展示如何在浏览器中正确使用它. 虽然它看起来可能与传统网站类似,但Demo DApp在其底层架构上却有截然不同. 事实上,就在几年前,这在技术上还是不可能实现的. Origin不拥有存储列表的数据库. 相反,所有数…