以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只搭建环境,运行第一个区块链程序(Dapp)。安装truffle$ npm install -g truffle依赖环境 NodeJS 访问 https://nodejs.
所谓区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。释义编辑最早是比特币的基础技术,目前世界各地均在研究,可广泛应用于金融等各领域。
(Python客户端 —— 使用 pika 0.9.8)在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务。可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是另外的故事了。这种模式通常被称为远程过程调用(Remote Procedure Call)或者 RPC。
(使用Python 客户端 —— pika 0.9.8)上一篇教程里,我们改进了我们的日志系统。我们使用直连交换机替代了扇型交换机,从只能盲目的广播消息改进为有可能选择性的接收日志。尽管直连交换机能够改善我们的系统,但是它也有它的限制 —— 没办法基于多个标准执行路由操作。在我们的日志系统中,我们不只希望订阅基于严重程度的日志,同时还希望订阅基于发送来源的日志。
(使用pika 0.9.5 Python客户端)在前面的教程中,我们实现了一个简单的日志系统。可以把日志消息广播给多个接收者。本篇教程中我们打算新增一个功能 —— 使得它能够只订阅消息的一个字集。
(使用pika 0.9.5 Python客户端)在上篇教程中,我们搭建了一个工作队列,每个任务只分发给一个工作者(worker)。在本篇教程中,我们要做的跟之前完全不一样 —— 分发一个消息给多个消费者(consumers)。这种模式被称为“发布/订阅”。为了描述这种模式,我们将会构建一个简单的日志系统。
(使用pika 0.9.5 Python客户端)在第一篇教程中,我们已经写了一个从已知队列中发送和获取消息的程序。在这篇教程中,我们将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Worker)。工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。
RabbitMQ 是一个消息代理。它的核心原理非常简单:接收和发送消息。你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处。在这个比喻中,RabbitMQ 就扮演着邮箱、邮局以及邮递员的角色。RabbitMQ 和邮局的主要区别是,它不是用来处理纸张的,它是用来接收、存储和发送消息(message)这种二进制数据的。
消息系统允许软件应用相互连接和扩展.这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接.消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶.或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。RabbitMQ 是一个消息代理 - 一个消息系统的媒介。
文章出于:http://wangxiaoming.com/blog/2016/07/18/e20/GPU挖掘硬件算法是内存难解的,为了使DAG适合内存,每个GPU需要1-2GB内存,如果你得到错误提示:Error GPU mining. GPU memory fragmentation? 说明你没有足够的内存。GPU挖矿软件是基于OpenCL实现的,AMD GPU会比同一水准的NVIDIA GPU更快。ASIC和FPGA相对低效因而被阻拦。
文章出于:http://wangxiaoming.com/blog/2016/07/15/e19/CPU挖掘你可以用电脑的中央处理器(CPU)挖以太币。自从GPU矿工的效率高出两个数量级,它就不再盈利了。然而你可以用CPU挖掘在Morden测试网或私有链上挖矿,以便创建你测试合约和交易所需要的以太币, 而无需花费实时网络上的真实以太币。注意:测试网以太币除了用于测试目的外没有其他价值(查看测试网络)。
文章出于:http://wangxiaoming.com/blog/2016/07/11/e18/挖矿简介挖矿这个词源于对加密货币与黄金的类比。黄金或贵金属很稀有,电子代币也是,增加总量的唯一方法就是挖矿。以太坊也是这样,发行的唯一办法就是挖矿。但是不像其他例子,挖矿也是通过在区块链中创建、验证、发行和传播区块来保护网络的方法。挖以太币=保护网络=验证计算什么是挖矿?
文章出于:http://wangxiaoming.com/blog/2016/07/08/e17/测试网络Morden测试网Morden是公开的以太坊替代测试网。它会贯穿于整个软件里程碑Frontier和Homestead。用法eth (C++客户端) 0.9.93及以上版本自动支持。比如开启以下任意客户端时,通过—morden参数。PyEthApp (Python客户端) PyEthApp支持v1.0.5以后的morden网络。
文章出于:http://wangxiaoming.com/blog/2016/07/06/e16/以太坊网络去中心化共识的基础是参与节点的点对点网络,节点维护并保证区块链网络的安全。参见挖矿。以太坊网络数据统计EthStats.net是以太坊网络实时数据的仪表板,这个仪表板展示重要信息,诸如现在的区块,散表难度,gas价格和gas花费等。页面上显示的节点只是精选了网络上的实际节点。
文章出于:http://wangxiaoming.com/blog/2016/07/03/e15/在线钱包,纸钱包和离线存储这只是链接和说明的集散地。请将它从列表模式转换到生态系统。这边举的例子,可能会解释偏执的实践,列出潜在风险。Mist以太坊钱包下载版本Mist以太坊钱包开发者预览-基础博客发文如何简单地设置以太坊Mist钱包!
文章出于:http://wangxiaoming.com/blog/2016/07/01/e14/以太币是什么?以太币是以太坊中使用的货币名称,用于在以太坊虚拟机内支付计算。这通过为了以太币购买gas间接实现,在gas中有所解释。面额以太坊有一个面额的度量体系,用作以太币单位。每个面额都有自己独特的名字(有的是在计算机科学与加密经济学演进过程中发挥开创性作用的人物的姓)。
文章出于:http://wangxiaoming.com/blog/2016/06/28/e13/导入预售钱包使用Mist以太坊钱包用GUI Mist以太坊钱包导入预售钱包非常简便。实际上,在应用安装期间你会被问到是否要导入预售钱包。警告:Mist钱包是试用软件。使用风险自担。安装Mist以太坊钱包的说明在 创建账号:使用以太坊钱包 章节给出。只需要把.
文章出于:http://wangxiaoming.com/blog/2016/06/26/e12/在 Mist创建多签名钱包Mist以太坊钱包有个选项是可以用多签名钱包使钱包里的余额更安全。用多签名钱包的好处是它需要多个账号共同批准才能够从余额中提取大额资金。创建多签名钱包之前,需要创建多个账号。在Mist创建账号文件很容易。在"账号"菜单下点击"添加账号"。
文章出于:http://wangxiaoming.com/blog/2016/06/22/e11/账户账户在以太坊中发挥着中心作用。共有两种账户类型:外部账户(EOAs)和合约账户。我们这里重点讲一下外部账户,以下会简称为账户。合约账户简称为合约, 在合约章节具体讨论。把外部账户和合约账户都归入到帐户的一般概念是合理的,因为这些实体都是所谓的状态对象。
文章出于:http://wangxiaoming.com/blog/2016/06/19/ethereum-10/go-ethereumgo-ethereum客户端通常被称为geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。通过安装和运行geth,可以参与到以太坊前台实时网络并进行以下操作:挖掘真的以太币在不同地址间转移资金创建合约,发送交易探索区块历史及很多其他链接:网站: http://ethereum.github.
关注时代Java