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

据报道,现在区块链是发展最快的领域之一。随着区块链项目 (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,所以学习这门语言仍然是一项很好的投资。

Ledger钱包开发者模式添加支持Acala:官方消息,Ledger钱包开发者模式添加支持Acala。在正式发布之前,适用于高级用户,目前仍在开发中。[2022/8/3 2:54:48]

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

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

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

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

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

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

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

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

Heco负责人六苏:Heco为开发者提供了一个更加高效稳定的开发环境:金色财经报道,2月26日,Heco负责人六苏做客金色财经举办的以“星火燎原,Heco能否强势领跑交易所公链”为主题的金色沙龙活动。

六苏分享了Heco上线两个多月以来所取得的成绩:Heco链上主流资金规模已达36.27亿美金,总token流通价值已达到86.59亿美金,交易笔数约6000万次,活跃地址数达到230万个,目前Heco上的开发团队已经有数百个。

另外六苏表示:“Heco为开发者提供了一个更加高效稳定的开发环境,Heco属于以太坊侧链,但是其性能更加优秀,Heco采用HPoS共识机制,3秒出块,支持EVM的可编程性,大大降低了开发维护成本,Heco特有的元交易功能可以进一步降低开发者和用户的链上成本。自我们推出Heco以来,已经有数百个开发者团队入驻Heco。”[2021/2/26 17:55:44]

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

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

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

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

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

G+加入Baer Chain Oasis开发者生态联盟“O+”:近期,全球区块链游戏聚合平台G+正式加入O+生态联盟。并且G+平台官方宣布,其平台上的所有游戏支持BRC充值,进一步增加BRC的流通场景。Baer Chain CEO Vincent表示,“非常欢迎全球更多的优质游戏加入Baer Chain游戏生态,Baer Chain基金会也将出资孵化更多优秀团队推进区块链+游戏产业发展。”

据悉,贝尔链OASIS绿洲游戏平台成立O+生态联盟以来,持续与全球优质游戏开发团队与平台合作。目前联盟中来自英国、韩国、日本、新加坡等全球优质游戏开发团队已超过200个。[2020/2/28]

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

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

除了框架和 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 方面有更大的灵活性。

声音 | 以太坊开发者:当ETH走向PoS时 ETC将成为最大的PoW以太矿链:有推特网友提问到“当以太坊转到PoS时,所有的哈希算力要去哪?”时,以太坊开发者Virgil Griffith在推特上回复称,当ETH走向PoS时,ETC将成为最大的PoW以太矿链。[2019/8/23]

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

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

Thirdweb 可以用于以下方面:

创建 NFT 市场

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

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

编程版税分成 NFT

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

用户身份验证

发送和获取交易

监听智能合约事件

与智能合约互动

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

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

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

声音 | IndImm开发者:项目的目标并不是对Ripple、XRPL或社区造成伤害:IndImm本周宣布在Ripple区块链上发布消息协议Beta版本,该项目遭到Ripple社区成员的批评。 IndImm开发者称其项目有两个意图:反对审查制度和看到加密货币实际上有利用价值。他们选择Ripple进行该特定实验,是因为想选择“有坚实的追踪记录、社区和知名度”的区块链。开发者表示正在认真考虑有关其工作可能威胁到Ripple生存的指控。“许多节点运营商告诉我,他们非常担心……我认为最大的问题是存储成本和处理成本。”开发者也承认,一些批评迫使其评估是否继续开发该应用。“我的目标不是对Ripple、XRPL或社区造成伤害,我不希望这成为副产品。”(The Block)[2019/7/27]

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

我们可以使用 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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:479ms