火星链 火星链
Ctrl+D收藏火星链
首页 > Ethereum > 正文

区块链:开发者必备手册:构建区块链应用程序最佳工具一览

作者:

时间:1900/1/1 0:00:00

据报道,现在区块链是发展最快的领域之一。随着区块链项目 (DeFi、NFT、DAO) 的激增,对区块链开发人员的需求也在直线上升。

如果已经在区块链上进行了构建,或者计划构建,那么这里有关于创建区块链应用程序的一些最佳工具的介绍。

要开发区块链应用程序,就需要学习一种编程语言。这些语言可以让我们创建智能合约代码,以作为应用程序的后端。

目前,Solidity 是区块链开发中最流行的编程语言。它是一种高级的,面向对象的语言,它从其他语言 (尤其是 C++) 中借鉴了一些元素。

许多开发人员更喜欢学习 Solidity,是因为被看作是事实上的区块链的以太坊使用了 Solidity 来编写智能合约。除此之外,Solidity 是图灵完备的,允许我们创建功能丰富的复杂应用程序。

学习 Solidity 是作为区块链开发人员开始旅程的一个很好的开端。Solidity 的流行意味着我们可以访问为初学者设计的有用的教程、指南和文档。

Solidity 也可以在其他区块链上运行,只要它们与以太坊虚拟机 (EVM) 兼容。这就意味着我们可以在兼容 EVM 的区块链上部署项目,如币安智能链、Avalanche、Polygon、Matic?Network 等。

Solidity 并不是创建智能合约的唯一语言。一种流行的替代方案是 Vyper——一种基于 Python 且兼容 EVM 的语言。

虽然 Vyper 的功能和流行程度不如 Solidity,但对于熟悉 Python 的开发人员来说,它是理想的选择。此外,Vyper 的简单架构减少了软件错误,简化了智能合同审计。

Rust 是一种较新的编程语言,它在区块链开发社区中越来越受欢迎。它是一种用于编写智能合约的低级语言,因其存储效率、简单性和可靠性而备受赞誉。

问题是 Rust 不兼容 EVM,所以我们不能在以太坊和 EVM 兼容链上部署项目。但是像?Solana,?Terra,?NEAR,?Polkadot?和 Elrond 这样较新的链可以使用 Rust,所以学习这门语言仍然是一项很好的投资。

SushiSwap遭黑客攻击,开发者及时阻止但仍造成1.5万美金损失:11月30日,SushiSwap遭受黑客攻击,随后开发者“0xMaki 源 義経”与团队合作及时阻止了此次攻击行为,但仍造成了1.5万美金的损失。[2020/11/30 22:33:08]

从头构建去中心化应用程序 (dApp) 可能是一项困难的任务,特别是如果我们必须自己处理每一个微小的细节。幸运的是,我们可以受益于「即插即用」基础设施的软件框架,以便轻松创建 dapp。

框架附带了用于创建、测试和部署代码的资源 (库和工具)。从头开始编写 dApp 是没有必要的,因为我们可以使用现成包,然后添加额外的功能。此外,大多数框架都是由经验丰富的工程师开发和优化的,所以它们都是强大、高效和通用的。

在我们的区块链开发框架列表中,第一个就是 Truffle。Truffle 是一个基于 javascript 的框架,用于开发、测试和部署智能合约。它仍然是区块链行业中最常用的框架之一。

Truffle 提供了创建功能齐全的 dApp 所需的资源,它可以提供从内置的智能合约创建工具到测试区块链的环境。它还具有现成的库,使得构建以太坊 dApp 的前端更容易。

Hardhat 是另一个被强烈推荐给智能合约开发者的框架。与 Truffle 一样,Hardhat 是一个基于 javascript 的框架,用于在以太坊上创建、测试、部署和调试应用程序。

Hardhat 是一个全面的工具平台,它抽象出与区块链软件开发相关的大多数底层通用功能。因此,我们可以专注于更重要的任务,比如为 dApp 构建核心基础设施。

Embark 是一个完整的栈开发框架,它允许我们同时构建 dApp 的前端和后端。虽然位列列表的最后,但 Embark 与本节中列出的其他框架一样好。

Embark 为 dApp 数据存储、实时代码测试和智能合约部署提供资源。此外,我们还可以访问重要的插件,如 Etherscan、Solc、Solium 等。

比特币协会与CSDN合作推出Bitcoin SV开发者专区:比特币协会(Bitcoin Association)宣布与CSDN合作,成立并启动Bitcoin SV开发者专区,将为3100万用户提供一个专门的开放式学习平台,让他们了解如何在Bitcoin SV区块链上工作。(CoinGeek)[2020/7/22]

集成开发环境 (IDE) 通过将核心开发工具组合成一个图形用户界面 (GUI) 来帮助应用程序开发。大多数 IDE 都具有代码编译、编辑、语法高亮显示、构建自动化和调试等功能。

Remix 被许多区块链开发人员认为是 IDE 的行业标准。使用 Remix IDE,我们可以编译、测试和调试智能合约—所有操作都可以通过一个直观的界面完成。

Remix IDE 是用 JavaScript 编写的,我们可以在任何浏览器上使用它,我们也可以在自己的计算机上本地运行它 (作为桌面应用程序)。它提供了一套全面的库、插件和其他功能,以推动智能合约开发。

EthFiddle 是一个基于浏览器的 IDE,用于编写和调试 Solidity 代码。如果我们在一个项目上与他人合作,那么 Loom Network 开发的 EthFiddle 是一个很好的工具,有了这个软件,我们可以轻松地编辑、查找代码片段,并与他人共享代码片段以获得反馈。

EthFiddle 不像 Remix IDE 那样功能丰富,但它能在演示文稿中共享代码这一点却很有用。它提供了设计良好的测试和原型功能,使其成为了所有区块链开发人员的好工具。

我们也推荐 Ethcode,一个用于开发以太坊智能合约的 Visual Studio Code 插件。Ethcode 为编写、调试和单元测试合约代码提供了一个初学者友好的开发环境。

代码是开源的,新的开发人员可以在需要时寻求支持。Ethcode 适用于 Vyper 和 Solidity,可以将智能合约部署到以太坊主网和 Goerli 测试网等。

门罗币开发者:澳本聪控制的比特币地址与Mt. Gox攻击有关:金色财经报道,门罗币开发者Ricardo Spagni发推文称,澳本聪(Craig Wright)刚刚(通过他的律师)公开承认他是从Mt.Gox交易所偷走了8万枚比特币的人。Spagni提供的法院文件截图显示,“1Feex”地址是被盗的Mt.Gox资金发送至的地址。Spagni补充说,澳本聪的律师致信“比特币核心”,说他在一个地址中拥有比特币,但是那个地址是Mt.Gox被盗资金流向的地方。[2020/6/13]

除了框架和 IDE 之外,API 和 SDK 也是 Web3 开发者最重要的工具之一。帮助区块链工程师解决开发过程中遇到的具体问题,并帮助 dApp 的创建。

为了简化不同软件之间的交互,设计了一个 API (Application Programming Interface)。通过使用 API 请求数据来改进 dApp,我们可以在现有功能的基础上进行构建。

SDK 是「软件开发工具包」(Software Development Kit)的简称,是针对特定平台构建应用程序的软件产品集合。区块链开发 SDK 降低了构建特定于平台的 dapp 的复杂性。

随着 NFT 价值的飙升,许多开发人员开始将注意力转向这个行业。如果打算创建一个 NFT 应用,Alchemy 的 NFT API 是一个完美的工具。

Alchemy NFT API 允许开发人员在用户友好的界面中显示不同 NFT 的元数据。它跨多个链 (以太坊、Polygon,、Flow?等) 工作,所以买家在选择 NFT 方面有更大的灵活性。

NFT API 抽象了 NFT 交互所涉及的大多数技术任务。通过将 NFT API 集成到我们的平台中,买家在验证和购买 NFT 之前不需要阅读智能合约。

Thirdweb SDK 对于构建 Web3 应用程序或将 Web3 特性集成到现有应用程序非常有用。例如,我们可以在我们的应用程序中添加「连接钱包」特性,而不需要编写代码。

BM“现身”全球EOS开发者大会:在OracleChain(欧链)主办的“2018全球EOS开发者大会”上,Block.ONE CTO Daniel Larimer(BM)、Block.One产品副总裁Thomas Cox通过视频方式“现身”,为全球EOS开发者打气。本次开发者大会汇集了众多EOS生态大咖、以及全球20个项目团队,共同探讨EOS生态发展与技术方向。[2018/6/10]

Thirdweb 可以用于以下方面:

创建 NFT 市场

在不编写代码的情况下启动 NFT

为治理、社区成员资格和其他目的创建Token

编程版税分成 NFT

Moralis 是一个 Web3 开发平台,提供 API 和 SDK,以加快区块链开发周期。Moralis SDK 通过提供现成的功能降低了构建全功能 dApp 的复杂性,例如:

用户身份验证

发送和获取交易

监听智能合约事件

与智能合约互动

默认情况下,大多数智能合约是不可变的,一旦代码部署到区块链上,就无法做出任何修改。因此,不鼓励在以太坊主网上测试,因为我们不能在部署后进行更改。

为了解决这个问题,以太坊开发人员可以使用测试区块链网络 (testnet) 来测试 dapp。测试网络可以让我们看到智能合约在区块链上如何工作,允许我们在启动它之前找到缺陷。

Ganache 是用于以太坊开发的本地区块链,可以作为命令行工具或桌面应用程序使用。区块链开发人员可以使用 Ganache 部署智能合约和执行测试。

Ganache 工具拥有用户友好的界面,可以访问调试信息和区块链数据 (帐户、区块、交易)。我们还可以配置其他元素,如区块时间,以满足我们的开发需求。

开发者:以太坊资金恢复争论没有正确答案:Andreessen Horowitz前合伙人,Coinbase前软件工程师Preethi Kasireddy在5月4日的以太坊社区会议EDCON上表示,最近有关找回因Parity客户端问题而丢失的大量资金而引发的社区争论是“没有正确答案”。他说,“我们一直在尝试寻找一个让所有人都满意的解决方案,但是我不认为存在这种解决方案。对于以太坊来说,这是一个具有文化意义的时刻,因为这个问题的答案将基于我们共同的社会规范是什么和我们共同的准则是什么。老实说,我认为我们不知道这些是什么,这就是为什么我们被困在这场争论中。”[2018/5/6]

我们可以使用 Ropsten、Goerli 或 Rinkeby 等公共测试网来代替 Ganache。主要的区别是 Ganache 可以离线使用,不需要在线访问。

一些开发人员更喜欢公共测试网,因为它们模拟了以太坊的行为,可能更适合测试假设。例如,Ropsten 使用类似于以太坊主网的工作证明共识。

虽然测试网是免费使用的,但我们需要在浏览器钱包中测试以太币 (ETH) 才能完成交易。

虽然智能合约有令人兴奋的应用程序,但它们的功能有限,因为它们只能访问存储在链上的信息。这给任何构建依赖外部信息来执行功能的智能合约的开发人员带来了问题。

这就是预言机发挥作用的地方。

区块链预言机从不同的来源收集真实世界的信息,并将其传递给运行在区块链上的智能合约。这些信息可以以多种形式显示:实时价格、天气信息、体育结果等等。

选择去中心化的预言机是很重要的,因为它们更难被恶意的参与者操纵,并且 (主要) 提供可靠的信息。许多流行的 dapp,如?Kyber、Synthetix?和?Compound,都使用去中心化的预言机来执行智能合约。

目前,Chainlink 是市场份额领先的去中心化预言机解决方案。Chainlink 于 2017 年推出,为多个区块链的智能合约提供「可靠和防篡改」数据。

通过 Chainlink,我们可以将智能合约连接到现实世界的各种数据源。例如,我们可以创建一个 dApp,奖励预测现实事件结果的用户。

其他去中心化预言机解决方案包括 Band Protocol, Witnet 和 Universal Market Access (UMA)。这些应用激励选定的先知提供准确的信息,保持链下数据的完整性。

在构建 dApp 时,我们将需要与区块链交互—无论是读取链上数据还是向区块链写入数据。为此,我们那需要连接到区块链节点;区块链节点保存了整个区块链的历史记录,可以发送 / 查询区块链数据。

问题是维护完整的以太坊节点是昂贵的、耗时的和复杂的。因此,建议区块链开发人员使用区块链节点提供者 (node-as-a-service)。节点提供程序为客户端处理区块链基础设施,使我们可以专注于构建和扩展 dApp。

如果我们正在寻找合适的区块链节点提供商,那么 Alchemy Supernode 值得一试。Supernode 提供了一套完整开发的 API,用于与区块链交互并获取关键的区块链数据。

使用该工具,连接到区块链网络层就像注册和接收 API 密钥一样简单。该服务不仅适用于以太坊,也适用于其他项目——因此在使用区块链方面会有充分的灵活性。

Alchemy 的「节点即服务」工具还有以下优点:

免费注册

随量扩展基础设施

增强的 API

可靠

Supernode 旨在适应我们的需求,并提供无缝的可扩展性。这样,我们就不会因为节点基础设施而失眠,并且我们的用户可以享受更好的体验。

如果我们想了解其他可用项目,还可以查看其他节点提供程序。包括 QuickNode、Infura、GetBlock、BlockDaemon 和 Chainstack。

然而,如果我们想要改进 dApp 并扩大用户基础,分析这些数据点是很重要的。为此,我们需要使用像 Alchemy Monitor 这样的工具,它可以更容易地为我们的 Web3 应用程序进行分析。

Alchemy Monitor 是一个强大的,专门用于监控 dApp 基础设施和获得用户活动的工具。Alchemy Monitor 提供 dApp 健康状况的实时更新,并可以显示 API 调用、错误率和响应时间。

Alchemy Monitor 仪表板还可以跟踪 dApp 的使用情况,并为用户行为提供有用的见解。它还有一个漂亮的自动警报系统,可以在我们的 dApp 出现重大故障之前尽早标记问题。

开发人员并不是唯一需要 dApp 活动实时信息的人;用户也需要知道 dApp 上发生了什么。例如,用户可能想知道在 dApp 中执行的交易是否成功。

这就是为什么使用 Alchemy Notify 推送通知服务是一个很好的主意。添加推送通知到我们的 dApp 可能是优秀和糟糕用户体验的区别。

Notify 为应用程序用户提供以下信息:

交易通知;

解决活动警报;

Gas 价格警报,以及更多。

如果今年有什么启示的话,那就是安全性应该是任何区块链项目的第一优先级。加强智能合约的安全性比在我们的新 dApp 中添加花哨的功能更值得考虑。以下是今年一些最大的漏洞:

Axie Infinity?(被黑 6.15 亿美元)

Inverse Finance (被黑 1500 万美元)

Elephant Money (被黑 2250 万美元)

还有更多的黑客攻击,但这些应该会给我们一个基本的概念,智能合约安全是一件严肃的事情。如果没有正确的安全措施,这可能会破坏我们的声誉并阻止用户采用。

在我们的加强智能合约安全性的工具列表中,首先是 Octopus,这是一个用于对智能合约代码进行详细分析的解决方案。Octopus 提供了符号执行、调用流分析和控制流分析——所有这些都可以帮助我们发现合约错误并在为时已晚之前修复它们。

下一个是 Mythril,?ConsenSys?支持的智能合约安全工具。Mythril 用于分析以太坊虚拟机 (EVM) 字节码,并使用污染分析、符号执行和污染解决来识别以太坊软件中的漏洞。

最后,我们还有 Securify——一个由以太坊基金会支持的智能合约扫描器。Securify 可以检测多达 37 个不同的软件漏洞,并为基于 Solidity 的智能合约实现上下文特定的分析。

如果我们要创建 dApp,我们需要一个钱包来存放资金,即使它是测试以太币 (ETH)。为此,我们可以在几分钟内在浏览器中设置一个加密货币钱包。

我们建议使用 MetaMask,因为除了持有 ETH,它还提供了很多功能。作为一个浏览器扩展,MetaMask 注入 Web3js API 到网站中,这允许用户直接在他们的浏览器与 dapp 交互。MetaMask 还可以执行其他功能,如密钥管理、读取区块链数据等。

区块链开发可能是一个令人兴奋的过程,但前提是我们一开始就拥有正确的工具。创建一个强大的开发栈可以更容易地创建应用程序,并提高输出的质量。

原文作者:Emmanuel Awosika??

原文编译:ChinaDeFi

标签:区块链APPDAPDAPP区块链运用的技术中不包括哪一项Ac/simToken钱包appDAPSW币dapp币上架交易所

Ethereum热门资讯
区块链:金色观察 | 风投资金下降矿工收入减少 加密经济飓风来袭?

从市场数据来看,短期内,加密下跌的趋势和影响仍在持续。据区块链分析公司Glassnode最新数据显示,BTC钱包增长和活跃实体均出现停滞.

1900/1/1 0:00:00
WEB:哈佛教授:为什么一定要参与Web3 ?

当今互联网正在发生重大变革。虽然现在的主流媒体守住了他们的用户数据宝库并借助互联网效应保持了相当的优势,但在如今所倡导的“Web3”模式下,新诞生的公司们正在提出一种全新的冲浪方式.

1900/1/1 0:00:00
比特币:晚间必读5篇 | 万字长文回顾美国加密货币监管史

1.火爆与争议并存 资本圈如何看待 Web3 的发展前景?近期,Web3.0 直接带动资本热情的,是国际知名投资机构的动作.

1900/1/1 0:00:00
GOBLIN:这一届NFT正用“躺平”和“暗黑”对抗熊市

皮之不存,毛将焉附。在加密熊市背景下,NFT 市场已经从「我们都会成功」变成了「我们都会死去」(we’re all gonna die).

1900/1/1 0:00:00
ABY:Babel Finance:美联储加息前后股市与比特币表现对比研究

在疫情期间我们见证了加密市场令人难以置信的增长,同时也观察到加密货币与传统风险资产之间所出现的极强相关性.

1900/1/1 0:00:00
COI:横向流动性:加密资产的价值如何跨链

流动性的本质是价值交换。近年来,以太坊的市场占有率逐渐下降,越来越多的公链被广泛地使用。当一个新的公链 / L2 生态形成的时候,用户产生了将资产从原来的生态迁移到新的生态,以及跨链信息传递的需.

1900/1/1 0:00:00