主页 > imtoken不让安装 > 以太坊 101:初识 dapp

以太坊 101:初识 dapp

imtoken不让安装 2023-03-31 05:17:36

在以太坊平台上开发

虽然深入了解这项新兴技术的动态和复杂性是一项艰巨的任务,但设置以太​​坊节点、发送和接收交易、交换加密货币以及启动测试环境的过程既简单又耗时. 本文将向消费者和开发者介绍去中心化应用程序的生态系统。

基本的去中心化基础架构堆栈

以太坊合约代码查看_以太坊合约爆仓家破人亡_以太坊合约地址

(可能略有遗漏)

终端用户如何与去中心化应用程序交互

如果你只是想发送一笔交易,那么简单的任务,使用ethereumjs真的是一炮而红,没有用户会愿意为一笔交易做这么复杂的操作。

MetaMask 是一款钱包,可改善用户在以太坊网络上进行交易的体验,同时保护最终用户的私钥。

让我们使用 MetaMask 发送一个简单的交易。 首先,如果您还没有在Chrome或Firefox浏览器中添加应用,请进入官网链接: ,然后一步步设置密码。

以太坊合约代码查看_以太坊合约地址_以太坊合约爆仓家破人亡

以上是 MetaMask 终端用户发送交易时看到的内容。 这个界面非常直观。

在左上角可以看到交易已经广播到 Rinkeby 测试网。 18.750 ETH 只是测试网以太币,是通过 Rinkeby 的水龙头@获得的。

Web3 库

Web3.js 是一个与以太坊兼容的 JavaScript API,它实现了通用的 JSON RPC 规范。 Web3.js 库在 npm 上作为节点模块提供,对于浏览器和其他组件,它作为可嵌入的 js 提供以太坊合约代码查看,并进一步作为 meteor.js 包提供。 Web3.js通过RPC与本地节点或测试节点通信。

尽管 Web3.js 是现实中最常用的 JavaScript Ethereum API,但开发人员也可以访问其他库和工具。 其中包括:web3.j(一种用于 Java 和 Android 的更轻型、类型安全的 API)、ethereum-js(一个用于执行上述原始交易的简单库)、Web3.py(一个 Python 库)和 eth.js(维护的由 Nick Dodson 编写)和其他工具。

以太坊可以通过浏览器、服务器和任何其他可以正确解释协议的东西访问。 客户端浏览器界面的一个示例是 ConsenSys 的 MetaMask 浏览器扩展,它使用 Web3.js API。 服务器端服务的另一个例子是 etherscan.io,它被以太坊社区的许多用户视为以太坊地址、地址余额和智能合约信息的可靠来源。

开发环境

本节将简要介绍以太坊生态中的各种IDE。 虽然这是一项尖端技术,但强大的开发团队和各种可用的开源工具将促进安全智能合约的开发和部署。

以太坊开发人员可以使用多种开发环境和框架,本文将重点介绍最流行和最知名的框架。 首先,Remix 和 MetaMask 是开发去中心化应用的最佳选择。

Zeppelin 开源智能合约安全框架

Zeppelin 是一个用于开发安全智能合约的开源框架。 它为用户提供一系列可重复使用和社区审核的智能合约,帮助用户开发安全的dapps。

一般来说,我们建议您在开发任何类型的应用程序时,在您选择的地方重用现有的经过验证和测试的开源代码。 在以太坊空间中,由于智能合约一旦写入区块链就具有固有的不变性,因此应该对这条建议给予应有的重视。 写入主网并在具有未被发现缺陷的实际生产环境中运行的智能合约经常被恶意利用以太坊合约代码查看,导致资金被锁定、丢失或合约失效。 OpenZeppelin 满足了这个需求,提供了一个安全的智能合约库,可以通过 Solidity 继承。

我们不妨先安装OpenZeppelin开源框架,探索一下它的特性: $ npm install zeppelin-solidity 利用Solidity的继承,我们可以编辑智能合约继承Zeppelin的开源合约,然后重新编译迁移回区块链:

以太坊合约代码查看_以太坊合约地址_以太坊合约爆仓家破人亡

我们的示例“NameOfMyProject”合约现在将继承所有“StandardToken.sol”变量和函数。 Zeppelin官方文档请参考:

补充阅读:

坚固性文件:

齐柏林文档:

Truffle 的 Solidity 测试文档:

为您的去中心化应用程序需求设置合适的开发环境

最后,当您熟悉 Remix 并进入 Truffle 或其他开发环境时,您可能会发现您需要能够快速部署可定制的以太坊网络。 如果你需要这个功能,那么 Puppeth 将是一个更合适的工具。 通过使用 Puppeth,您可以启动一个完整的以太坊网络,包括引导节点、打包节点(也称为验证器)、网络统计数据、钱包、仪表板,甚至用于分配气体的水龙头。

IDE 的目的大致相同:通过允许您编译、迁移、部署和测试智能合约来简化开发过程。 然而,在如何构建去中心化应用程序方面,每个开发环境都有自己的风格和观点。 在了解您的个人开发流程和工作风格之后,值得花一些时间来回顾我们在下面列出的一些重要环境的细微差别,以找到满足您的开发需求的最佳工具。

附加信息开发环境/插件:

1、ConsenSys编写的以太坊开发工具清单《以太坊上开发应用的工具、组件、模式和平台指南》:

2. Embark:主要针对去信任应用的开发环境。 开发前端应用比较容易,但是对后端的支持相对较弱。 对于希望构建混合前端/后端 dapp 的开发人员来说,它可能不是最佳选择:

3. IntelliJ-Solidity:

4.视觉工作室:

5. Atom 编辑器的 EtherAtom 包:

棉绒工具:

1.Solhint:

2. VisualStudio 代码的以太坊 Solidity 语言:

本文翻译:Jacky

本文校对:Jacky/Vivian