以太坊区块链开发环境搭建指南

以太坊的开发包括智能合约的开发和去中心化应用(DApp)开发,这个教程将介绍如何 根据不同的开发场景在本地windows或linux下安装、搭建并配置四种不同的以太坊开发环境: 轻量级开发环境、仿真器开发环境、私有链开发环境和公链开发环境。

轻量级开发环境

如果你只需要开发智能合约(例如开发一个ERC20代币)而不是完整的 去中心化应用(DApp),那么使用remix + metamask的轻量级组合就够了。

remix是以太坊官方提供的solidity在线集成开发环境, 你不需要在本地安装任何软件,就可以开发、编译并测试智能合约了。

metamask是一个轻量级钱包,它是chrome浏览器的插件,remix搭配上metamask 以后,你就可以直接在浏览器里部署以太坊智能合约了。

进一步阅读:

DApp快速开发环境

如果要开发完整的去中心化应用,你就需要部署额外的开发工具了,这主要包括:

  • Ganache:以太坊仿真器
  • Truffle:以太坊DApp开发框架
  • Node.js:后端应用开发平台
  • Express:node.js的web开发库

这一组合可以让你在一台计算机上模拟以太坊环境,进行DApp的快速开发、部署与测试。 快速的意思是,由于使用了以太坊仿真器,你不需要挖矿、不需要等待交易完成,一切 就像传统的应用开发那么迅速。

进一步阅读:

DApp私有链开发环境

除了使用以太坊仿真器,你也可以部署一个私有链来开发以太坊应用,这里主要的变化 是采用标准的以太坊节点软件Geth来代替Ganache仿真器。

在私有链开发环境下,你提交到以太坊节点的每一笔交易,需要挖矿才能完成,这意味着 你在调试代码时可能需要额外的等待时间,这会拖慢开发的进度。因此,我们建议在可能 的情况下,首先使用仿真器先调通你的整个应用,再迁移到私有链环境下。

进一步阅读:

DApp公链开发环境

最终你的开发需要将智能合约部署到公链,例如主链或测试链。这有两种方案:

  • 使用自己的geth全节点
  • 使用公开的托管节点

如果使用自己的geth节点,就和私有链开发环境没有什么区别,你只需要让Geth启动连接 到公链而不是你搭建的私有链即可。

但更多的情况是,你并不需要使用自己的全节点,可以利用Infura提供的托管以太坊节点。 除非特别需要,我们推荐你首先考虑使用托管节点。

进一步阅读:

如果你希望马上开始学习以太坊DApp开发,可以访问我们的在线互动教程:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链大本营

产品揭秘 | 同时支持多条公链的节点钱包是这样做出来的

在区块链的世界,钱包是一个重要的入口,它的核心用途是存放数字资产和进行转账交易。通常是通过私钥+密码的方式保护资产的安全,如果私钥丢失,便会造成数字资产的丢失,...

981
来自专栏申龙斌的程序人生

SC(SiaCoin)取出到钱包的图解教程

友情提醒:云币中的SC钱包仍在维护中,暂时还不能取现,先做好准备吧。 中国各大数字货币交易平台将在9月底关闭,为此需要将数字货币提取到自己的钱包中,这是区块链世...

57811
来自专栏申龙斌的程序人生

区块链上存证,只需这四步

区块链里的信息具有不可篡改性,比如中本聪在创世区块中写的一段话:“The Times 03/Jan/2009 Chancellor on brink of se...

7141
来自专栏极客编程

iOS和Android比特币开发3个最受欢迎的应用SDK(示例)

如今的比特币不仅是加密货币还是数字支付系统。实际上,由于其独特的功能,比特币已成为投资,储蓄甚至赚取更多钱的真正工具。在本文中,我们想谈谈3个最受欢迎的比特币应...

3273
来自专栏区块链技术指北

以太坊生态中的工具与技术

这是「区块链技术指北」的第 32 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我...

29510
来自专栏FreeBuf

加密货币攻击之比特币:已成为可能?

考虑到网络路由攻击可能会对全球的比特币网络产生消极影响。因此,近期我们研究了网络路由攻击(例如BGP劫持)和恶意互联网服务提供商(ISP)对比特币所能产生的影响...

2146
来自专栏liuchengxu

Tendermint: 什么是 ABCI (应用区块链接口)

区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。

1183
来自专栏极客编程

一个EOS区块链RPC API接口的PHP SDK包

作为我们Block Producer对社区利益的承诺的一部分,我们希望专注于构建有助于提高EOS平台采用率的工具/应用程序。与大多数大型应用程序一样,当你只有少...

2081
来自专栏极客编程

EOS智能合约开发和测试框架EOSFactory

自2017年秋季以来,Tokenika一直致力于创建基于Python的EOS智能合约开发平台,以便轻松创建,测试和部署智能合约。随着EOS的不断发展,我们已经习...

1181
来自专栏极客编程

php程序员如何开发区块链、以太坊、智能合约的教程

以太坊是备受关注的区块链,它基于密码学技术和P2P通信技术 构建了一个去中心化的平台,所有的交易同步保存在每个节点中, 通过将区块单向级联成链,以太坊有效的保证...

3463

扫码关注云+社区

领取腾讯云代金券