
以太坊智能合约
文章平均质量分 84
落叶无声9
没有不成功的事,唯有坚持。
展开
-
以太坊Whisper协议
在本教程中,我们将学习如何使用以太坊的Whisper协议创建简单的聊天CLI。尽管本教程中的所有操作都在你的控制台中进行,但是你应该能够重新使用我们在你自己的应用程序中提供的JS,并对如何发送和显示不同类型的消息有一个很好的了解,以及使用Whisper可以构建什么。我们了解到,没有多少DAPP开发人员希望以状态的方式使用Whisper(作为一个庞大的多用户消息传递协议),而是将有关DAPP中与其...翻译 2019-07-04 15:10:30 · 2313 阅读 · 0 评论 -
使用Geth设置基于权利证明POA的以太网私有网络
目标:逐步指导,帮助你使用权威证明共识引擎(也称为clique)设置本地私有以太网网络。简而言之:我们将在同一台机器上设置两个节点,在我们的localhost上创建一个点对点网络。除了两个节点之外,还将设置启动节点(发现服务)。我花了相当长的时间和广泛的研究和谷歌搜索,最终有一个坚实的以太坊开发环境来测试我的智能合约和我的DApps。在这篇文章中,我决定分享我如何使用Geth的clique共...原创 2019-03-19 11:48:07 · 1342 阅读 · 1 评论 -
以太坊开发者工具的最新清单
以太坊开发者工具的最新终极清单,用于在以太坊上开发应用程序的可用工具,组件,框架和平台的指南。对于任何开发者,无论你是一个睁大眼睛的Web3新手还是一个头发灰白的OG加密无政府主义技术霸主,Github都是你的朋友。特别是ConsenSys Github可能是你在整个互联网上找到的最明确的Ethereum开发工具库。无论是基础知识,编码语言,IDE,API,ABI,框架,最佳实践,智能合约标准...原创 2019-02-25 11:41:55 · 1392 阅读 · 0 评论 -
Hyperledger Fabric如何通过虚拟机部署以太坊智能合约
EVM作为用户链代码安装到Fabric中,然后可以通过它部署智能合约。单个EVM链代码足以在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务仍将遵循Fabric事务流中的执行,订单,验证步骤。确保在不同组织中的足够对等方安装链代码,并设置一个确保一定程度的分散的认可政策。为了与已部署的智能合约进行交互,有一个fab3,它从以太坊JSON RPC API实现一组有限的API,因此可...原创 2019-02-25 11:40:22 · 1614 阅读 · 0 评论 -
你也可以构建私有区块链网络
这是我如何构建私有区块链网络的一篇文章,你也可以。没有什么比自己构建区块链更能帮助理解区块链了。以下是我们将在这篇文章中完成的内容:下图我们以前可能见过,但基本上以太坊区块链网络只是很多EVM(以太坊虚拟机)或连接到每个其他节点的“节点”来创建网格。每个节点都运行整个区块链的副本,并竞争挖掘下一个区块或验证交易。无论何时添加新块,区块链都会更新并传播到整个网络,以使每个节点同步。要成为以太...原创 2019-01-21 17:14:01 · 1211 阅读 · 0 评论 -
以太坊的企业系统集成
最流行的开源Java集成库——Apache Camel现在支持以太坊的JSON-RPC API。以太坊生态系统以太坊是一个开源,公共,区块链平台,用于运行智能合约。它提供了一个去中心化的图灵完备虚拟机,可以执行脚本和加密货币,用于补偿参与者挖掘节点进行的计算或减轻垃圾邮件。今天,以太坊是最成熟和最成熟的区块链平台之一,受益于小型和大型公司,非营利组织和政府。关于以太坊生态系统及其移动速度,可以...原创 2019-01-21 17:10:02 · 763 阅读 · 0 评论 -
使用Web3.js 1.0构建以太坊Oracle
以太坊oracle:一个人们可能会在Meetups听到或其他技术活动中被抛出的非常模糊的术语。如果你不了解,你可能没有意识到区块链oracle只是一个离线数据源的专门案例,它通过响应合约中的链上事件与以太坊EVM进行交互。这可能听起来似乎挺复杂,但实际上并非如此——只需坚持几分钟。oracle的主要关注点是在合约要求时将外部数据返回合约。这些数据可以是合约开展业务所需的任何数据:存储在数据库中的...原创 2019-01-21 17:06:02 · 618 阅读 · 0 评论 -
通过python构建一个区块链来学习区块链
了解区块链Blockchains如何工作的最快方法就是构建一个区块链。你来到这里是因为,和我一样,你对加密钱币的崛起感到很兴奋。而且你想知道区块链是如何工作的,想了解它们背后的基本技术。但理解区块链并不容易,或者至少不适合我。我在密集的视频中跋涉,接着是千疮百孔的教程,并且处理了极少数放大挫折的例子。我喜欢边做边学。它迫使我在代码级别处理主题,这使得它坚持下去。如果你这样做,在本指南的最后,你...原创 2019-01-21 17:00:05 · 772 阅读 · 0 评论 -
10分钟内用Ezo和Python构建以太坊Oracle
上一篇,我写了用Web3.js构建以太坊Oracle。这个练习给了我一些新的Web3.js 1.0版本知识。许多新的好东西可供选择而且使用它实现一个简单的oracle非常容易。但是,显然必须有更好的方法。Instant Oracles,只需添加处理程序!Ezo(发音为eh-zoh)是用于构建和运行以太坊的离线事件响应器的工具。受到ServerLess和Gordon等AWS工具集以及Django...原创 2019-01-21 16:55:57 · 551 阅读 · 0 评论 -
用Go构建一个简单的区块链
在本教程中,我将尝试通过帮助你在Go中编写简单的区块链来揭开区块链的广义概念。在本教程中,你应该能够:理解区块链术语。创建自己的简单区块链。了解什么是区块以及如何创建块。了解如何维护区块链的完整性。区块链:一种数字分类帐,以较小的集合排列,称为块。这些块通过加密hash相互链接。每个块包含指向前一个块的哈希。区块链对于加密货币很有用,因为它具有去中心化的特性,这意味着存储的数据不...原创 2019-01-21 16:53:55 · 4511 阅读 · 0 评论 -
Solidity错误Stack Too Deep
当一个人开始在Solidity编写智能合约时,他/她迟早会遇到一个非常烦人的障碍。“Stack Too Deep”错误。很容易陷入这个陷阱,当发生这种情况时,通常很难找到出路。公平地说,根本原因不在于Solidity本身,而在于以太坊虚拟机(EVM),因此可能会影响编译成EVM的其他语言(即LLL,Serpent,Viper),但这是一个微妙的区别在编写智能合约的日常工作中。令人惊讶的是,考虑到...原创 2019-01-21 16:51:49 · 3696 阅读 · 0 评论 -
Nebulas一个新的JavaScript开发智能合约平台
Nebulas是另一个可以开发智能合约的平台。它提供了一种使用JavaScript开发智能合约的方法,这是一种有趣的替代方案,可替代更为成熟的解决方案,例如以太坊。我第一次在Reddit上宣读了Nebulas奖励计划,该计划奖励开发人员成功提交dApp(去中心化应用程序)。从Nebulas的白皮书中,我们可以了解团队的动机以及他们为dApp提供搜索引擎和排名算法的目标。听起来很熟悉?让我谷歌那个...原创 2019-01-21 16:49:17 · 468 阅读 · 0 评论 -
以太坊和Hyperledger Fabric之间的差异
在这篇文章中,我们将介绍区块链中两个主要平台之间的差异:以太坊和Hyperledger。如果你正在考虑在项目中使用哪一个。这个博客的亮点是希望帮助你做出决定。但在我们详细说明之前,我们先来看一些定义。什么是区块链网络?它是一个去中心化的业务资产交易系统。它使用共享分布式分类帐记录网络成员之间的所有交易。它由分别存储区块链代码的连接节点(计算机)组成。网络可以是公共的或许可的,这将确定节点如何与...原创 2019-01-24 10:52:16 · 7972 阅读 · 0 评论 -
从2018年以太坊统计数据看区块链发展趋势
今年6月,我们发布了“以太坊网络状态”,重点介绍了整个网络的一些关键数据和统计数据。六个月后,即将在2018年结束时,我们处于长期“加密货币冬天”的尾声,2017年末至今的市场波动已经引起了区块链行业的普遍关注。然而,仔细研究这些数字可以发现一种强大的技术,它充斥着项目和开发人员,并且在新的一年里有着坚定的上升发展轨迹。交易活动迄今为止,以太坊网络共处理了超过3.53亿笔交易。自6月1日以来,...原创 2019-01-08 07:23:20 · 978 阅读 · 0 评论 -
区块链与分布式超级帐本技术(Hyperledger Fabric或R3 Corda)
与分布式超级账本技术(如Hyperledger Fabric或R3 Corda)相比,以太坊区块链保持了相似性和差异性。在对区块链和分布式超级账本平台进行有根据的评估及其为企业带来的价值时,根据平台的核心功能和特征对平台进行分类是有用的。由于区块链源自密码学和数据配置的原则,某些功能可以在协调的数据库系统中复制,而其他功能仅在真正的区块链环境中可行。在本文中,我们将评估面向平台的主要企业的基本业...原创 2019-01-08 07:21:35 · 2355 阅读 · 0 评论 -
使用Go语言和以太坊智能合约交互
尽管最近遇到了些麻烦,但以太坊仍然是区块链领域内智能合约的最大参与者,这似乎不会很快改变。在我看来,技术本身具有很大的潜力,是从学术的角度看很有意思,但正如上面提到的问题和之前的许多问题是区块链技术方面的,智能合约,特别是具有Solidity的以太坊生态系统还是不太成熟的,并没有为prime-time和生产用例做好准备。然而,这是一个学习和了解这项技术的好时机,并且当它达到严格应用程序的可接受...原创 2019-04-22 21:08:34 · 2214 阅读 · 0 评论 -
solidity 0.5.7简明教程
以太坊不仅是一种加密数字货币,它更是功能完备的智能合约平台,solidity就是用来开发以太坊上的智能合约的原生开发语言。solidity最早发布于2015年,它是第一种图灵完备的智能合约专用开发语言。目前除了以太坊之外,在其他区块链中也逐渐开始支持solidity,例如hyperledger fabric、tendermint等。在这个solidity快速教程中,我们将使用最新0.5.7版的so...原创 2019-04-29 15:33:35 · 318 阅读 · 0 评论 -
Truffle设置Solidity版本
当使用truffle开发以太坊solidity合约时,经常碰到的一个问题,就是你的solidity合约代码所要求的编译器版本,与truffle预装的solitiy编译器版本不匹配。本文将介绍如何更改truffle中的solidity版本。如果要快速掌握以太坊的开发,推荐汇智网的以太坊开发系列教程。1、问题重现由于solidity比较新,语法还在变换当中,因此你从网上找到的示范源码,有可能...原创 2019-05-31 11:51:03 · 1202 阅读 · 0 评论 -
以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(一)
今天,我将向你展示如何在以太坊区块链上构建你的第一个去中心化应用程序或dApp。我将告诉你如何编写你的第一个以太坊智能合约,我们将在两个候选人之间举行选举。我们将针对智能合约编写测试,将其部署到以太坊区块链,并开发允许帐户投票的客户端应用程序。我们还将研究关键概念,如“什么是区块链?”,“什么是智能合约?”,以及“dApp如何工作?”。什么是区块链?让我们用一个类比来理解区块链是什么以及它是如...原创 2019-05-31 11:43:20 · 1358 阅读 · 0 评论 -
以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(二)
在以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(一)中,我们已经完成了一切所需的设置,让我们通过列出将在选举中运行的候选人来继续构建智能联系。我们需要一种方法来存储多个候选者,并存储关于每个候选者的多个属性。我们希望跟踪候选人的身份,姓名和投票计数。以下是我们如何为候选人建模:contract Election { // Model a Candidate str...原创 2019-05-31 11:41:12 · 388 阅读 · 0 评论 -
以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(三)
在以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(一)中,我们已经完成了一切所需的设置;在以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(二)中,让我们通过列出将在选举中运行的候选人来继续构建智能合约并完成客户端程序。下面我们来完成投票部分,现在让我们添加在选举中投票的能力。让我们定义一个选民voters映射到智能合约,以跟踪在选举中投票的账户,如下所示:contr...原创 2019-05-31 11:35:42 · 383 阅读 · 0 评论 -
什么是Ricardian Contract李嘉图合约?
Ricardian Contracts是数字文档,用于定义两方或多方之间交互的条款和条件。在20世纪90年代,伊恩·格里格(Ian Grigg)在寻找创造数字化现金的愿景的朋友之后学会了资产的数字化。Ian Grigg发现债券数字化的必要性,并试图在互联网上发行相同的债券,因为它们也是金融资产,而世界正在开始通过互联网创建业务。在努力解决问题的过程中,Ian Grigg开发了李嘉图合约。李嘉...原创 2019-05-31 11:31:15 · 760 阅读 · 0 评论 -
Solidity 0.5 address payable和address的区别是什么?
在Solidity 0.5.x中,地址类型被细分为address和address payable,那么,这两种类型有什么区别?如何将address类型转换为address paybale类型,或者反向转换?本文将给出这些问题,并指出Solidity进行地址类型细分的目的。solidity 0.5将地址类型细分为address和address payable的目的在于,它有助于强制智能合约开发人...原创 2019-05-31 11:26:43 · 1220 阅读 · 0 评论 -
关于智能合约开发的真相
就像“区块链”,“AI”和“云”这样的词语一样,“智能合约”也是那些得到大量炒作的短语之一。毕竟,没有什么比不通过司法系统而让人们能够相信发生了什么更有意思的了。智能合约的承诺包括:自动,无须信任和公正地执行合约。在合约构建,合约执行和合约执行环节中取消中间人。(暗示)删除律师。我认同炒作。毕竟,如果我们能够消除信任对方执行的需要,那么事情会有多高效?无论如何,什么是智能合约?并不是...原创 2019-05-22 11:18:30 · 506 阅读 · 0 评论 -
以太坊智能合约之如何执行智能合约?
区块链技术在顶级技术中占据主导地位的主要原因在于其去中心化。虽然区块链的主要目的是在没有中心的情况下维护交易记录,但为了实现自动化,智能合约被引入。那么在写完智能合约之后呢?在本文的这个以太坊智能合约教程中,我们将了解如何使用Truffle Ethereum和以太坊专用网络来执行智能合约。我们将在以太坊智能合约教程中查看以下主题:使用案例:保险流程中的智能合约智能合约的好处安装先决条件...原创 2019-05-14 09:23:58 · 3879 阅读 · 3 评论 -
如何保护你的以太坊节点RPC免受黑客攻击?
最近朋友的以太坊节点遭到黑客攻击,存储在Geth钱包中的以太币通过暴露的RPC端口命令被转移出去,Transfer可以在下面看到。下图显示了最近向黑客帐户的转移:保护计算机系统传统上是一场斗智斗勇,Gosser说”穿透者试图找到漏洞,设计师试图关闭它们。”与大多数比特币客户端不同,默认情况下,大多数以太坊客户端RPC不受密码保护。尽管如此,有多种方法可以保护以太坊节点RPC。其中一些...原创 2019-05-14 09:19:09 · 691 阅读 · 0 评论 -
区块链开发最流行的编程语言有哪些?
我们目前正处于一个新兴的区块链开发行业中。区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣。由于许多资金充足的项目现在急于建立区块链网络并在其上部署分散的应用程序,因此缺乏能力强大的区块链开发人员。随着数十亿人进入这一领域,区块链开发商的薪酬和需求不断升级,项目互相竞标,以吸引留在市场上的最佳区块链人才。这种淘金热可能让一些开发人员怀疑他们是否具备了进...原创 2019-05-14 09:14:32 · 650 阅读 · 0 评论 -
关于智能合约的真相?到底什么是智能合约?
就像“区块链”,“AI”和“云”这样的词语一样,“智能合约”也是那些得到大量炒作的短语之一。毕竟,没有什么比不通过司法系统而让人们能够相信发生了什么更有意思的了。智能合约的承诺包括:自动,无须信任和公正地执行合约。在合约构建,合约执行和合约执行环节中取消中间人。(暗示)删除律师。我认同炒作。毕竟,如果我们能够消除信任对方执行的需要,那么事情会有多高效?无论如何,什么是智能合约?并不是...原创 2019-05-14 09:12:01 · 1506 阅读 · 0 评论 -
以太坊如何计算交易成本
在发送比特币交易时,其费用与其大小成比例。输入和输出越多,它就越贵。再加上未决交易的因素,交易费用可能仅基于这两个因素就会飙升。对于以太坊,鉴于我们正在谈论协议中的编程语言,对于非常少的文本或代码(在BTC中可能非常便宜的东西),可能对计算要求非常高。 让我们来看看这个循环,例如:while (i++ < 1000) { j = j + i; } 这个循环意味着**只要i小于1000...原创 2019-04-25 19:36:29 · 1423 阅读 · 0 评论 -
区块链开发教程分享【201904】
分享汇智网最新的比特币、以太坊、EOS、Hyperledger Fabric、Tendermint等区块链相关的交互式在线编程实战教程。1、java比特币开发详解java比特币开发课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师...原创 2019-04-29 15:35:52 · 540 阅读 · 0 评论 -
以太坊交易确认数如何获取
以太坊和比特币一样,都有一个最长链的概念,因此也有一个交易确认数的概念。当一个以太坊交易所在区块被新加入区块链时,该交易的确认数为1,之后每增加一个区块,该交易的确认数加1。显然,一个以太坊交易的确认数越多,就意味着该交易在区块链中埋的越深,就越不容易被篡改。那么,应该如何获取一个以太坊交易的确认数?如果要快速掌握以太坊应用开发,推荐汇智网的以太坊智能合约与DApp开发入门,基于在线编程环境完...原创 2019-01-08 07:18:41 · 4099 阅读 · 0 评论 -
智能合约开发新趋势【2019】
智能合约开发语言已经被Solidity统治了一段时间,它用于开发可以在以太坊虚拟机EVM上运行的智能合约。不过Solidity有一些严重的问题,包括算术溢出、类型错误以及曾经冻结了3亿美元的delegatecall漏洞。所有这些漏洞都是在开发语言层面存在的问题。换句话说,如果有一个好点的开发语言,本来应该可以创造更安全的智能合约。文本将列出在2019年值得关注的区块链智能合约开发技术趋势。上汇...原创 2019-01-03 08:29:36 · 358 阅读 · 0 评论 -
truffle开发模板box大全
truffle是的最流行的以太坊DApp开发框架,它的一大优势就是支持众多的DApp开发模板,这些开发模板被称为box,其中可以包含solidity合约、前端视图库等,可以极大地简化以太坊DApp的开发。本文将介绍truffle官方提供的各种box。要快速掌握以太坊应用开发,推荐这个教程:以太坊智能合约与DApp开发入门在安装各种box之前,需要首先全局安装truffle和ganache-...原创 2018-12-27 08:07:36 · 313 阅读 · 0 评论 -
了解不同种类的以太坊网络
希望更多地了解不同类型的区块链和以太坊网络?查看此帖子以了解有关区块链类型的更多信息。在大量关于与区块链技术相关的“破坏性”事件之后,我非常感兴趣的是快速建立一个开发环境,其中包含任何在互联网上免费且有用的开发环境,用于开发一个kick-ass DApp。我开始了解到“以太坊”是区块链中最成熟的协议。在我继续使用可用于在以太网本地设置你的开发环境的工具之前,我只想了解一下我将要构建的区块链基础设...原创 2018-12-10 13:48:52 · 1394 阅读 · 0 评论 -
了解新的以太坊开发语言Vyper
Vyper是一种全新的以太坊开发语言,主要用于商用区块链,对区块链开发者来说可以提高安全性。Vyper是一种通用的实验性编程语言,可编译为EVM(以太坊虚拟机)字节码,Solidity也是如此。但是,Vyper旨在大规模简化流程,以便创建更易于理解的智能合约,这些合约对所有相关方更加透明,并且被攻击的点更少。任何针对EVM的代码都必须是超高效的,以最大限度地减少智能合约执行所需的gas,因为与...原创 2018-12-10 13:46:44 · 903 阅读 · 0 评论 -
以太坊构建DApps系列教程(一):应用程序规则和区块链设置
这将是一个如何使用以太坊区块链构建去中心化应用程序DApps的系列教程。第一篇教程重点介绍应用程序的规则和功能以及设置私有区块链,展示在使用或不使用DAO和应用程序的情况下如何构建自己自定义的以太坊代币。我们要构建3件事:自定义代币。使用代币作为投票的DAO。用于与智能合约交互的原型Web UI。按照本教程中的说明操作后,你将能够构建自己的自定义以太坊代币,无论是否包含DAO和应用...原创 2018-12-21 09:04:30 · 422 阅读 · 0 评论 -
java类库EthereumJ如何操作以太坊区块链
在本文中,我们将看一下EthereumJ库,它允许我们使用Java与以太坊区块链进行交互。以太坊作为一种加密货币,利用去中心化、点对点、可编程区块链形式的数据库,以太坊虚拟机(EVM),通过连接不同的节点进行同步和操作。节点通过共识同步区块链,通过挖掘(工作量证明)创建硬币,验证交易,执行以Solidity编写的智能合约,并运行EVM,而区块链的区块,主要包含帐户状态(包括帐户之间的交...2018-09-12 08:17:40 · 576 阅读 · 0 评论 -
python和web3.py如何开发以太坊dapp
以太坊作为最流行区块链平台,最大的特点是运行各种智能合约。我们已经出过node.js、java、php的以太坊开发实战教程,这一次是python。Python官方提供了一系列的Python包用于支持在Python应用中访问以太坊,其中最流行的就是web3.py —— 对JSON RPC接口的Python封装包。在本课程中,我们将主要使用web3.py,同时结合一些其他的包,来开发支持以太坊的P...原创 2018-08-26 22:14:28 · 467 阅读 · 0 评论 -
以太坊java库EthereumJ简介
EthereumJ是以太坊协议的纯Java实现。有关以太坊及其目标的高级信息,请访问ethereum.org,其白皮书提供了一个完整的概念的概述,和黄皮书一起提供了协议的正式定义。我们尽可能保持EthereumJ简单。对于JSON-RPC支持和其他客户端功能,请看Ethereum Harmony。运行EthereumJ作为依赖项添加到Maven项目: <depend...原创 2018-08-08 10:08:02 · 338 阅读 · 0 评论 -
web3j官网全文翻译
web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。可以通过它进行以太坊区块链的开发,而无需为你的应用平台编写集成代码。本文是对web3j官网的完整翻译,大家可以参考。 阅读全文 » 当然如果希望有一个快速入门的web3j内容,并且最好是边练习实例边学习的实操教程...2018-07-10 18:49:04 · 208 阅读 · 0 评论