以太坊开发人员,以太坊开发团队
以太坊开发人员:以太坊是一个开源的区块链平台,它允许开发人员构建和部署去中心化应用程序(DApps)。因此,以太坊开发人员是指那些具备相关技能和知识,能够利用以太坊平台进行DApps开发的专业人员。他们通常具备区块链技术、智能合约编程、网络安全等多方面的知识,是推动以太坊生态发展的重要力量。
以太坊开发团队:以太坊开发团队是指负责开发和维护以太坊平台的专业团队。目前,以太坊开发团队主要由以太坊基金会、以太坊核心开发者团队和各种社区开发者组成。他们致力于不断改进以太坊的技术和功能,以满足不断增长的DApps开发需求。
关键词:以下是关于以太坊开发人员和以太坊开发团队的一些关键词,它们是理解以太坊生态系统的重要基础。
智能合约:智能合约是以太坊平台的核心功能,它是一种可编程的协议,能够自动执行合约中设定的条件和操作。以太坊开发人员可以利用智能合约来构建各种去中心化应用,如数字身份验证、数字资产交易等。
区块链技术:区块链技术是以太坊平台的基础,它是一种去中心化的分布式数据库技术。以太坊开发人员需要具备对区块链技术的深入理解,以便能够利用它来构建可靠的DApps。
网络安全:由于以太坊平台涉及大量的数字资产和交易,网络安全是一个至关重要的问题。以太坊开发人员需要具备网络安全知识,以确保DApps的安全性和可靠性。
去中心化应用:去中心化应用是指不依赖于中心化机构,而是通过智能合约和区块链技术来实现数据存储和交易的应用。以太坊开发人员可以利用以太坊平台来构建各种去中心化应用,从而实现更加公平、透明和安全的应用场景。
以太坊虚拟机:以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是以太坊平台的运行环境,它能够执行智能合约中的代码。以太坊开发人员需要熟悉EVM的编程语言Solidity,以及EVM的工作原理和机制。
分布式应用平台:以太坊平台被称为分布式应用平台,因为它可以让开发人员构建分布式的应用程序。这种分布式的特性使得应用具备更高的可靠性和弹性,也为用户提供了更多的自主权。
智能合约编程语言:Solidity是以太坊平台最常用的智能合约编程语言,它类似于JavaScript,但具备更强大的功能和更严格的安全性要求。以太坊开发人员需要熟悉Solidity语言,以便能够编写安全可靠的智能合约。
社区开发:以太坊开发团队重视社区的贡献和参与,因此社区开发者也扮演着重要的角色。他们可以为以太坊生态系统贡献代码、提出建议和改进建议,推动以太坊发展。
总结:以太坊开发人员和以太坊开发团队是推动以太坊生态发展的重要力量,他们具备多方面的技能和知识,致力于构建更加安全、可靠和透明的去中心化应用。随着以太坊生态系统的不断发展,以太坊开发人员将继续发挥重要作用,为实现区块链技术的广泛应用做出贡献。
请查看相关英文文档
『一』什么是Dapp
DApp是Decentralized Application的缩写,翻译为:去中心化应用。应用程序我们都知道,我们在智能手机上安装的应用程序也是应用程序。 DApp比App多了一个“D”,“D”意味着去中心化。所以,它的意思是去中心化应用/去中心化应用。
DApp是一种互联网应用。与传统App最大的区别在于DApp运行在去中心化的网络上,即区块链网络中。网络中不存在可以完全控制DApp的中心化节点。众所周知,App是中心化的。需要请求某个服务器来获取数据、处理数据等。
相对于DApp,区块链是应用程序运行的底层环境。可以简单的比喻为IOS、Andorid等移动操作系统上运行的各种App。学习区块链并不是学习区块链底层。更多人e可能需要学习DApp开发。在区块链环境上构建和运行应用程序。
一个完整的DApp是一个需要完全开源和自治的应用程序。 DApp 一旦部署,就无法更改。应用升级需要大多数用户达成共识后才能进行。所有数据必须加密并存储在去中心化的区块链应用平台上。其次,DApp必须有代币机制。
DApp可以容错,不会出现单点故障。他们没有中央集权机构进行干预。某些数据不会被删除或修改。甚至无法关闭。由于数据是加密存储的,因此不会出现类似FaceBook和Google那样的用户数据泄露。
当然,目前大部分DApp产品还处于实验阶段。虽然区块链技术给我们带来了很大的想象空间,但DApp pro的具体实现管道还需要考虑很多相关因素。
『二』ETH测试网那些事儿:新手被交智商税,有人买测试币
随着一年多的密码学牛市的出现,大量新的参与者被加入到区块中,趋势链在拥有大量机会的同时,也给圈子带来了大量新的底层计划。这很奇怪。最近网上有人在卖以太坊测试币,白饵还真不少,买了很多。 。在了解之后,很多新手主要是对区块链不了解,相关科普也很少,所以有些信息造成了误解。因此我们进行了新手科普,主要介绍以太坊测试网络。
顾名思义,测试网是正式产品或程序之前的功能和性能测试过程已推出。不同的公链都有自己的测试网络,比如比特币、莱特币、以太坊等。测试网络一般分为专用测试网络和公共测试网络。专用测试网络是从我们的 LAN 或本地计算机构建的测试环境。公共测试网是指所有人都可以访问的测试网络环境。总体来说,在以太坊Metamask钱包中我们可以看到,以太坊公测网络主要分为以下几种:
Ropsten:一条POW区块链,与目前的以太坊主网非常相似
Kovan:POA 区块链
Rinkeby:POA 区块链
Goerli:POS 区块链,基准 ETH2.0
除了区块模型和共识机制的差异之外,不同的测试网络还具有不同类型的软件客户端支持和垃圾处理交易机制。其他都是支持使用E进入虚拟机VM,即如果不是以太网通道和底层功能测试或者一些DApp性能参数,对于生态项目来说,其他都是一样的。
在牛市之前,大多数以太坊 DApp 开发者实际上使用的是 Ropsten 测试网络。由于Ropsten测试网络采用POW挖矿,与我们在主网上看到的挖矿相同,因此需要特定的显卡和其他设备。这部分测试网络最大的特点是网络算力较低,因此采集成本很低。另外,有了以太坊基金会的资助,公众其实很容易通过公共渠道免费获得相应的测试币。挖矿方法和其他测试一样,所以测试的成本,是比较便宜的,反正是获取成本,当然,在行业内测试网没有太大的商业价值,而测试的币也没有什么价值,是免费的,人们可以点击 test网络免费网站。
进入以太坊2.0时代后,主网的主要流程是信标链正式上线、节点验证ETH质押、节点软件运行、然后POW链转换进入 POS 链。原来部署在POW网络上的智能合约仍然可以工作,但是挖矿方式发生了变化,这个过程使得在上线之前需要运行多个不同机制的测试网络功能,以确保正式上线能够顺利进行。尽可能顺利。
主网上,目前进展是以太坊信标链已上线,POW链继续运行,其他分片链尚未运行。目前主流的2.0客户端测试网络是Prysmatic Labs发起的Goerli测试网络,该网络于2019年开始运行。以太坊2.0的测试网络Tapoz于2021年开始运行。其他公测分片连锁店仍未公开运营。以太坊 2.0 合并后,Goerli 测试网现称为以太坊 2.0 测试网。
由于是以太坊2.0测试网,并且作为未来几年区块链技术发展的重点,Goerli测试网其实还是颇受欢迎的。首先,你需要参与测试网络验证节点的区块生成和运行,因此你必须需要32个Golli测试网络测试币。 Prysmatic Labs此前在其官网提供了32个Goerli测试币,供有意参与验证测试节点的运营商领取,完全满足测试节点的要求。
验证人获得32个测试币后,需要像当前主网一样在Gaolli测试网上质押Gaolli测试币调用合约,以获得运行测试节点的资格。 。然后在服务器上运行测试网客户端软件,完成测试随后的测试网络参与流程。测试网验证人完成测试网验证节点的建立后,可以尝试在测试网验证人上部署各种智能合约或进行其他测试。
主网上对应的流程是从POW主网过渡到POS的流程,我们稍后会看到。换句话说,如果一个项目想要在未来几年内部署在以太坊上,最近的测试网络就是Goerli测试网络。当然,由于使用EVM虚拟机进行合约部署,因此很多项目仍然会选择Rinkeby测试网络进行测试。 Rinkeby测试网络采用POA共识机制(权威认证),并使用验证器来统一账本状态。这有效地防止了双重支出。正因为如此,Rinkeby测试网实际上为开发者提供了良好的测试网体验,吸引了很多开发者。
的高尔里测试网目前以POS模式运行,每天都会产生大量的测试币。然而,由于目前的短缺,一些测试币水龙头向公众提供的测试币相对较少。从上面可以看出,Gaolli测试币的主要目的是为32个测试币部署相应的2.0验证器测试节点。当然,测试节点不会产生实际收入。
另外,高尔里测试币的主要用户是DApp生态项目方。由于以太坊计划进入2.0阶段,一些项目将在Goerli网络上部署测试dapp,因此Goerli测试网络上部署的智能合约并不多。牛市以来,高尔里测试网也迎来了较为活跃的时期,部分原因是DApp项目的测试网活动吸引了大量的羊毛党。
总之,项目正式上线主网后,DApp 开发团队通常会将合约部署在公共测试网络上,然后公开,以便用户和一些 DApp 赏金猎人进行测试,以发现一些内部测试中未发现的 bug。确保工程安全。
生态项目测试活动一般都有相应的奖金。一些项目同时对DApp接入流媒体应用进行压力测试,并公开宣布一些测试活动,例如关注官方社交账号。然后体验测试网络,当项目建立并正式提供时,您将获得项目删除令牌。
本次测试活动几乎是零成本,并且获得了有价值的代币,吸引了很多普通用户。同时,它利用大量账户进行“采摘”,会使用测试网络来测试ethgas,有一个前提,也正因为如此,很多试用币在上线时大多都是干的。牛市接受龙头(试炼币拿出来,试炼币拿不到),所以就出现了交易试炼币的情况。
对于大多数长期在币圈的投资者来说,自然知道测试币不值钱,所以测试币的购买主要是一些黑心商家利用新手、新手来购买以太币。我不太了解以太坊2.0-2.0测试的细节,而且有些文章明确表达了测试网络,给新手造成了一些误解。测试货币的目的始终是测试网络。主网上线后,测试网仍然存在,并在后续的关键功能中起到测试作用,而不是这些黑说谎称“测试网与主网合并,测试币成为主网币”商人。
『三』什么是以太坊?
一个可编程、可视化且易于使用的区块克链。
以太坊是一个区块链平台,拥有自己的加密货币(称为以太币(ETH)或以太坊)和自己的编程语言(称为 Solidity)。作为区块链网络,以太坊是一个去中心化的公共分类账,用于验证和记录交易。网络用户可以在平台上创建、发布、货币化和使用应用程序,并使用他们的以太加密货币作为支付。内部人士将网络上的去中心化应用程序称为“dapps”。
以太坊于 2015 年 7 月由一小群区块链爱好者推出。其中包括 ConsenSys 的创始人 Joe Lubin,ConsenSys 是一家使用以太坊网络的区块链应用程序开发商。另一位联合创始人 Vitalik Buterin 被认为是以太坊概念的鼻祖,现在担任该公司的首席执行官和公众形象。布特林有时被描述为世界上最年轻的加密货币亿万富翁。 (他出生于 1994 年。)以太加密货币旨在用于以太坊网络。然而,就像比特币一样,以太坊现在是一些商家和服务提供商接受的支付方式。 Overstock、Shopify 和 CheapAir 是接受以太坊付款的在线网站。
『四』Dapp和App有什么区别?
DApp是去中心化应用中文分布式APP的简称。
DApp 的后端代码在分布式点对点网络中运行。传统APP的后台代码运行在中心化的服务器上。
DApp的前端代码可以用任何语言开发,就像传统APP一样。另外,DApp的前端代码可以托管在分布式存储服务中,例如Swarm或IPFS。
如果一个应用=前端+后端,因为以太坊合约是由运行在以太坊分布式点对点网络中的代码组成的,所以分布式应用=前端+合约。
图展示了一个DApp架构:
我们都知道App是客户端应用程序,是缩写申请数量。 DApp就是D+App。 D是英文单词decentralization的第一个字母。这个词的中文翻译是去中心化,即DApp是去中心化的应用程序。这是从字面上理解这个概念。要在头脑中形成清晰、准确、必要的概念,还需要深入了解 DApp。
对比APP,两者最大的区别就是中心化和去中心化。应用首先要有钱,所以首先需要融资;那么就需要人,招满人之后就可以开发运营了。 DApp是继承传统App并结合区块链特性的产品。更像是众筹模式、共享模式、去中心化模式。
『五』DApp开发简介
p>本文仅介绍以太坊系列的DApp开发,和其他链的原理没有太大区别。
MetaMask 安装后ed并运行,可以在Chrome控制台打印MetaMask注入的window.ethereum对象
关于ethereum对象,我们只需要关心ethereum.request即可。 MetaMask 使用 ethereum.request(args) 方法来包装 RPC API。这些 API 基于所有以太坊客户端公开的接口。简单来说,大部分钱包交互操作都是通过request()方法实现的,通过传入不同的方法名来区分。
⚠️ 即使以太坊对象中提供了 chainId、isMetaMask 和 selectAddress 属性,我们也不能完全信任这些属性。它们不稳定或不标准,不建议使用。我们可以通过上面提到的请求方法获取可靠的数据。
钱包通过方法名来实现对应的实现,以钱包地址为例
调用ethereum.request({ method: "eth_requestAccounts" }),钱包实现这个方法。然后即可获取钱包地址。
MetaMask注入的window.ethereum是一个Provider,RPC节点也是一个Provider。通过Provider,我们有能力访问区块链。连接钱包时,通常使用钱包的 Provider ethers.providers.Web3Provider(ethereum) 就足够了
如果你只需要查询一些区块链数据,可以使用 EtherscanProvider 和 InfuraProvider 来连接公共第三方节点服务提供商。 JsonRpcProvider 和 IpcProvider 允许连接到我们控制或有权访问的以太坊节点。
获取当前账户余额
获取最新区块号
其他RPC操作可以通过JSON-RPC查看。
您可以通过 ethers.js 连接到 ERC20 合约。合约编译完成后,会生成ABI。合约部署后,会生成合约地址。开发者可以通过ABI和合约地址向合约发送消息s。
合约中的方法大致分为两种:查看方法(免费)和非查看方法(消耗Gas)。方法类型可以通过ABI查看。
⚠️ ERC20需要更多关注Approve()方法以及transfer()和transferFrom()之间的区别。授权方可以通过调用transferFrom()方法来转移授权令牌。拿走授权数量内的代币,所以授权是一个非常危险的操作。如果您授权了不良合约,您将面临授权代币被转走的风险。即使您不透露私钥助记词。
方便的第三方库:web3-react use-wallet
文档:doc.metamask.io ethers
『Lu』以太坊的使命是成为分布式世界级计算机
以太坊的使命是成为分布式世界级计算机,取代传统的服务器集群。我们可以将其视为计算开发人员可以在世界各地使用且无法停止和关闭的冰。本文是以太坊路线图的初学者指南,解释了它在技术上是如何工作的
如果以太坊是一台计算机,那么每一次更新都可以被视为操作系统(OS)升级,类似于谷歌的 Android 系统升级或者苹果的IOS系列,以太坊将分四个阶段发布
在这四个阶段,以太坊将增加新的功能,提高平台的用户友好性和系统安全性,并提高以太坊的可扩展性< br />
第一阶段,前沿(2015年7月):以太坊发布第一个版本,允许开发者挖矿以太坊,并基于以太坊开发DAPP和工具软件
第二阶段开发DAPP及工具软件Homestead(2016年3月):发布第一版生产环境,优化完善了很多协议,为后续升级和加速奠定了基础交易速度 第3阶段,Metropolis(2017年10月):第3阶段分为两个版本,名为Byzantium(2017年10月)和Constant Dinburg(时间待定,预计2018年),这将使以太坊更轻、更快、更安全< br />
第4阶段,Tranquility(时间待定):该版本将使用人们期待已久的权益证明(POS),它将使用Casper共识算法
所有这些更新将帮助以太坊实现更大的规模,这也意味着更快的交易速度和更低的成本。正如我们所看到的,以太坊团队在交易扩展方面做得非常好
Metropolis 的目标是实现更轻、更快、更安全的以太坊版本,同时也将为智能合约提供支持为开发者提供更大的灵活性
Metropolis将分为两个核心版本:拜占庭和君士坦丁堡。第一次拜占庭硬分叉发生在 10 月份,第二次君士坦丁堡硬分叉发生在 10 月份。目前还没有日期,但预计会在 2018 年
每个阶段都包括一系列以太坊改进提案(EIP)。 Byzantium中有9个EIP,用于提高网络的隐私性、可扩展性和安全性。这些更新将使以太坊区块更加快速、交易成本更低
以下是 Metropolis 的一些重大更新:
隐私 - 实施
更轻松的匿名交易(zk SNARKs) 开发者编译
程序更可预测
Gas费用提高钱包安全
账户抽象提高挖矿难度
/> 隐私
在metropolis版本中,开发者将获得新的隐私工具——有效验证ZK snarks上链的能力。 ZK snarks 是“非交互式零知识证明”
简而言之,零知识证明是证明一个陈述的真实性并且不泄露更多信息的证明比需要证明
这是一个简单的例子。我需要向约翰证明我知道手机密码。为了证明这一点,我需要做的就是解锁手机,而不泄露我输入的密码
零知识证明是,当验证者(I)说服验证者(John)时,他们可以证明你拥有一定的知识,但不透露你知识的实际内容。在这种情况下,我可以在手机中输入密码,它会显示为已解锁,而不显示我输入的任何密码
那么这将如何影响以太坊的发展?某些连接变量可以是私有的。我们将这些信息与用户一起存储,而不是将这些秘密信息存储在区块链中。交易中可以隐藏发送者、接收者、金额和数据等信息
除了zksnarks(用于zcash)之外,以太坊还将使用环签名(用于monero的隐私方案)。以太坊将采取adva这两者的结合。
#数字货币##BTC[超话]##欧易OKEx#
『撒』什么是以太坊丨以太坊开发入门指南
什么是以太坊丨以太坊开发入门指南
很多同学已经渴望加入区块链开发团队,但又感觉无从下手。本文将基于以太坊平台通俗地介绍一下以太坊。开发中涉及到的各种晦涩的概念都可以很容易的介绍给大家。
什么是以太坊
以太坊是一个基于区块链技术构建的去中心化应用平台。它允许任何人在平台内构建和使用在区块链技术上运行的去中心化应用程序。
不明白这句话的同学可以暂时理解为以太坊就是区块链中的Android。它是一个开发平台。让我们像Android Framework一样基于区块链技术编写应用程序。
在以太坊之前,写区块链应用程序是这样的:复制一份比特币代码,然后更改底层代码,例如加密算法、共识机制、网络协议等。(很多山寨币都是这样。如果你更改)。
以太坊平台封装了区块链底层技术,允许区块链应用开发者直接基于以太坊平台进行开发。开发人员只需专注于应用程序本身的开发,从而大大降低了难度。
目前,围绕以太坊已经形成了比较完善的开发生态系统:在社区的支持下,有很多开发框架和工具可供选择。
智能合约
什么是智能合约
以太坊上的程序称为智能合约,它是代码和数据(状态)的集合。
智能合约可以理解为用代码编写的可以自动执行的合约(特殊交易)在区块链上执行(由事件驱动)。
在Bitcoin Script中,我们提到过比特币交易是可以编程的,但是Bitcoin Script有很多限制,可以编写的程序也有限,而以太坊则更完整(用计算机科学术语来说,称之为“图灵机”)完整”),使我们能够编写几乎可以做任何事情的程序(智能合约),就像任何高级语言一样。
智能合约非常适合需要高信任、安全、持久的应用场景,例如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权管理、物联网、点对点等。点对点交易等等等。
目前除了数字货币之外,现实生活中的应用并不多(就像移动平台刚刚开始出来一样)。相信1到3年内,各种杀手将会慢慢出现。
编程语言:Solidity
智能合约默认的编程语言是Solidity,文件扩展名以.sol结尾。
Solidity 是一种类似于 JavaScript 的语言。它用于开发合约并将其编译为以太坊虚拟机字节代码。
还有一种类似Python的智能合约开发语言:Serpent,但建议大家还是使用Solidity。
Browser-Solidity 是一个适用于浏览器的 Solidity IDE。您可以点击进去看看。以后我们会介绍更多关于Solidity语言的文章。
运行环境:EVM
EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。
Solidity对于EVM就像对于JVM一样,所以大家会很容易理解。
以太坊虚拟机是一个隔离的环境,EVM内部运行的代码无法与外界有任何联系。
EVM运行在以太坊节点上。瓦当我们将合约部署到以太坊网络上时,合约就可以在以太坊网络上运行了。
合约编译
以太坊虚拟机以合约的字节码形式运行。我们需要在部署之前编译合约。您可以选择Browser-Solidity Web IDE或solc编译器。
合约部署
在以太坊上开发应用时,经常会用到以太坊客户端(钱包)。平时我们在开发的时候,一般不会接触到客户端或者钱包的概念。它是什么?
以太坊客户端(钱包)
以太坊客户端,其实我们可以把它理解为一个开发者工具,提供账户管理、挖矿、转账、部署和执行智能合约等功能。
EVM由以太坊客户端提供。
Geth是开发以太坊时使用的典型客户端,基于Go语言开发。 Geth提供了一个交互式命令控制台,其中包含各种功能(API)以太坊通过命令控制台。后面我们会在一篇文章中介绍Geth的使用,不过这里大家有个概念。
Geth控制台与Chrome浏览器开发者工具中的控制台类似,但它运行在终端中。
与 Geth 相比,Mist 是一款图形化操作界面的以太坊客户端。
如何部署
智能合约的部署是指将合约字节码发布到区块链上,并使用特定的地址来标识合约。这个地址称为合约账户。
以太坊中有两种类型的账户:
· 外部账户
此类账户由私钥控制(由人控制),不与任何代码关联。
·合约账户
此类账户由其合约代码控制,并具有与其关联的代码。
与比特币的 UTXO 设计不同,以太坊使用更简单的账户概念。
对于 EVM,两种类型的帐户都是相同的。
外部账户和合约账户的区别和关系是这样的:一个外部账户可以通过用自己的私钥创建并签署交易来向另一个外部账户或合约账户发送消息。
在两个外部账户之间发送消息就是价值转移的过程。但是从外部账户到合约账户的消息会激活合约账户的代码,使其能够执行各种操作(例如转移代币、写入内部存储、挖掘新代币、执行一些操作、创建新合约等) 。 等待)。
只有当外部账户发出指令时,合约账户才会执行相应的操作。
合约部署是将编译后的合约字节码以外部账户发送的交易形式部署到以太坊区块链上(只有实际矿工出块后才算部署成功)。
运行
合约部署后,当需要调用此智能合约的方法时,只需向此合约账户发送消息(交易)即可。消息触发后,EVM 中将执行智能合约的代码。 。
Gas
与云计算类似,占用区块链的资源(无论是简单的转账交易,还是合约的部署执行)也需要相应的费用(天下没有免费的午餐) , 正确的? )。
以太坊上使用Gas机制进行计费。 Gas 也可以被视为工作负载单位。智能合约越复杂(计算步骤的数量和类型、占用的内存等),完成操作所需的时间就越多。气体。
任何特定合约运行合约所需的 Gas 量都是固定的,并由合约的复杂性决定。
Gas价格由运行合约的人在提交时规定提出运行合约的请求,以确定他愿意为此交易支付的费用:Gas 价格(以以太坊计价)* Gas 数量。
Gas的目的是在支付执行费用的同时限制执行交易所需的工作量。当EVM执行一笔交易时,Gas会按照特定规则逐渐消耗。无论在哪里执行,一旦 Gas 耗尽,就会触发异常。当前调用帧中所做的所有状态修改都将回滚。如果执行结束时还有剩余的 Gas,这些 Gas 将被退回到发送账户。
如果没有这个限制,有人会写一个无法停止的合约(比如无限循环)来阻塞网络。
所以实际上(将前面的内容放在一起),我们需要一个具有以太坊余额的外部帐户来发起交易(普通交易或部署并运行合约)。矿机运行时给c充电或相应的工程量费。
以太坊网络
有些着急的同学可能想问,没有以太坊我们如何开发智能合约呢?您可以选择以下方式:
选择以太坊官网测试网络Testnet
在测试网络中,我们可以轻松获得免费的以太币。缺点是节点初始化时间较长。
使用私有链
创建自己的以太坊私有测试网络,通常称为私有链,我们可以用它作为测试环境来开发、调试和测试智能合约。
有了上面提到的 Geth,就可以轻松创建自己的测试网络。您可以开采任意数量的以太坊,而无需同步官方网络的整个区块链数据。
使用开发者网络(模式)
与私链相比,开发者网络(模式)下会自动分配一个余额较大的开发者账户供我们使用。
使用Simu环境环境
创建测试网络的另一种方法是使用 testrpc。 testrpc 是使用内存在本地模拟的以太坊环境。开发、调试更加方便、快捷。而testrpc可以帮我们在启动时用资金创建10个测试账户。
开发合约时,可以在testrpc中进行测试,然后部署到Geth节点上。
更新:testrpc现已集成到Truffle开发框架中,并命名为Ganache CLI。
Dapp:去中心化应用
以太坊社区将基于智能合约的应用称为去中心化应用(DecentralizedApp)。如果我们把区块链理解为一个不可篡改的数据库,将智能合约理解为与数据库打交道的程序,那么理解Dapp就很容易了。一个Dapp不仅有智能合约,还需要友好的用户界面等。
Truffle
Truffle是一个Dapp开发框架。它可以帮助我们处理有了很多琐碎的事情,让我们快速的开始了写代码-编译-部署-测试-打包DApp的流程。
总结
现在我们来总结一下。以太坊是一个平台,可以让我们轻松地使用区块链技术来开发去中心化应用程序。在这个应用中,使用Solidity来编写和区块链交互的智能合约,合约编写完成后,我们需要使用以太坊客户端来部署并运行带有余额的账户的合约(使用Truffle框架可以更好地帮助我们做到这些东西)。为了开发方便,我们可以使用Geth或者testrpc搭建测试网络。
注:为了让大家更容易理解,本文对一些概念进行了类比。其中一些并不严格准确。不过,我也认为对于初学者来说,没有必要详细、准确地掌握每一个概念。学习是一个循序渐进、深入的过程,很多时候我们会发现d 经过一段时间,我们对同一件事会有不同的理解。
- 上一篇: 以太坊 入门,以太坊入门教程
- 下一篇: 以太坊黄皮书中文版,以太坊黄皮书是什么意思