据报道,现在区块链是发展最快的领域之一。随着区块链项目 (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,所以学习这门语言仍然是一项很好的投资。
Ripple开发者关系总监Matt Hamilton因个人原因离职:金色财经报道,Ripple开发者关系总监Matt Hamilton宣布已经离职。Hamilton表示,由于妻子的心理健康问题,2021年对他个人来说是“艰难的一年”,在意识到自己“参与了太多事情”后,他选择辞职以专注于家庭。
Hamilton此前曾在IBM和惠普等科技巨头任职,他于去年1月加入Ripple,致力于扩大XRP生态系统。在职期间,他为启动XRP Ledger Grants计划做出了贡献,在Twitch和Discord上主持了RippleXDev频道,并组织了XRPL黑客马拉松。(U.Today)[2022/3/17 14:02:52]
从头构建去中心化应用程序 (dApp) 可能是一项困难的任务,特别是如果我们必须自己处理每一个微小的细节。幸运的是,我们可以受益于「即插即用」基础设施的软件框架,以便轻松创建 dapp。
框架附带了用于创建、测试和部署代码的资源 (库和工具)。从头开始编写 dApp 是没有必要的,因为我们可以使用现成包,然后添加额外的功能。此外,大多数框架都是由经验丰富的工程师开发和优化的,所以它们都是强大、高效和通用的。
在我们的区块链开发框架列表中,第一个就是 Truffle。Truffle 是一个基于 javascript 的框架,用于开发、测试和部署智能合约。它仍然是区块链行业中最常用的框架之一。
Truffle 提供了创建功能齐全的 dApp 所需的资源,它可以提供从内置的智能合约创建工具到测试区块链的环境。它还具有现成的库,使得构建以太坊 dApp 的前端更容易。
Hardhat 是另一个被强烈推荐给智能合约开发者的框架。与 Truffle 一样,Hardhat 是一个基于 javascript 的框架,用于在以太坊上创建、测试、部署和调试应用程序。
Hardhat 是一个全面的工具平台,它抽象出与区块链软件开发相关的大多数底层通用功能。因此,我们可以专注于更重要的任务,比如为 dApp 构建核心基础设施。
HECO全球游戏黑客松将为开发者提供100万美金的总资金和种子资助:9月18日,HECO全球游戏黑客松拉开帷幕半月之久,收到来自中国、美国、俄罗斯、新西兰等多地区众多开发者的项目提交申请。
据悉,Chainlink、4Everland、Cipholio Capital和Crust等知名机构将作为本次赛事的特别合作商,联合HECO为参与者提供高达100万美元的全球奖池和种子轮投资资金。其中,116,500 USDT将通过黑客松奖金池给到参赛团队。
本次HECO全球游戏黑客松将持续至10月29日,HECO官方表示将通过本次黑客松给予开发者包括项目展示、workshop等在内的多方位资源支持, 帮助开发者运用HECO的基础设施开发、部署区块链游戏赛道的项目。[2021/9/18 23:34:49]
Embark 是一个完整的栈开发框架,它允许我们同时构建 dApp 的前端和后端。虽然位列列表的最后,但 Embark 与本节中列出的其他框架一样好。
Embark 为 dApp 数据存储、实时代码测试和智能合约部署提供资源。此外,我们还可以访问重要的插件,如 Etherscan、Solc、Solium 等。
集成开发环境 (IDE) 通过将核心开发工具组合成一个图形用户界面 (GUI) 来帮助应用程序开发。大多数 IDE 都具有代码编译、编辑、语法高亮显示、构建自动化和调试等功能。
Remix 被许多区块链开发人员认为是 IDE 的行业标准。使用 Remix IDE,我们可以编译、测试和调试智能合约—所有操作都可以通过一个直观的界面完成。
Remix IDE 是用 JavaScript 编写的,我们可以在任何浏览器上使用它,我们也可以在自己的计算机上本地运行它 (作为桌面应用程序)。它提供了一套全面的库、插件和其他功能,以推动智能合约开发。
EthFiddle 是一个基于浏览器的 IDE,用于编写和调试 Solidity 代码。如果我们在一个项目上与他人合作,那么 Loom Network 开发的 EthFiddle 是一个很好的工具,有了这个软件,我们可以轻松地编辑、查找代码片段,并与他人共享代码片段以获得反馈。
Project Galaxy联合Polygon、Gitcoin等向以太坊开发者发放3.15亿美元开发福利:8月26日消息,美国参议员Elizabeth Warren将区块链开发者描述为 “一个由超级代码员和矿工组成的阴暗、不露面的群体”。对此,Project Galaxy宣布推出The Shadowy Super Coder NFT Pack,旨在向超过11万名符合特定标准的以太坊开发者赠送的福利。
根据Project Galaxy的帖子,超过11万名以太坊开发者有资格免费申请总价值3.15亿美元的Shadowy Super Coder空投,例如订阅、工具和交易成本回扣。任何在2021年8月1日之前部署了智能合约的以太坊地址,并且该合约与至少两个不同的地址互动,都可以申请这套福利。Project Galaxy是一家为创建和分发NFT(如忠诚度计划)建立基础设施的创业公司。(Decrypt)[2021/8/26 22:38:13]
EthFiddle 不像 Remix IDE 那样功能丰富,但它能在演示文稿中共享代码这一点却很有用。它提供了设计良好的测试和原型功能,使其成为了所有区块链开发人员的好工具。
我们也推荐 Ethcode,一个用于开发以太坊智能合约的 Visual Studio Code 插件。Ethcode 为编写、调试和单元测试合约代码提供了一个初学者友好的开发环境。
代码是开源的,新的开发人员可以在需要时寻求支持。Ethcode 适用于 Vyper 和 Solidity,可以将智能合约部署到以太坊主网和 Goerli 测试网等。
除了框架和 IDE 之外,API 和 SDK 也是 Web3 开发者最重要的工具之一。帮助区块链工程师解决开发过程中遇到的具体问题,并帮助 dApp 的创建。
为了简化不同软件之间的交互,设计了一个 API (Application Programming Interface)。通过使用 API 请求数据来改进 dApp,我们可以在现有功能的基础上进行构建。
动态 | 去中心化自治组织Aragon将发布官方开发者插件:去中心化自治组织 Aragon开发者在社区表示,在接下来的几天里,Aragon将发布第一个官方版本的Aragon Buidler插件。这是一个开发专用的工具,旨在大大简化和改善 Aragon 应用程序的开发。Aragon将废弃所有来自Aragon CLI 的开发命令,并将它们转移到这个插件中。因此,这将很快成为开发 Aragon应用程序的官方方式也是唯一的开发方式。[2020/2/8]
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 特性集成到现有应用程序非常有用。例如,我们可以在我们的应用程序中添加「连接钱包」特性,而不需要编写代码。
Thirdweb 可以用于以下方面:
创建 NFT 市场
在不编写代码的情况下启动 NFT
为治理、社区成员资格和其他目的创建Token
编程版税分成 NFT
Moralis 是一个 Web3 开发平台,提供 API 和 SDK,以加快区块链开发周期。Moralis SDK 通过提供现成的功能降低了构建全功能 dApp 的复杂性,例如:
声音 | 郭达峰:DApp 开发者可以通过代码设计高效使用RAM:EOS Asia 的郭达峰在《EOSLaoMao · 宁话区块链》的节目中称“ DApp 开发者可以通过代码设计高效使用内存(RAM),即只在内存里存少量必要的数据。EOS Asia 在开发 DApp 时就特别为内存使用量进行优化。比如我们正在孵化的广告行业区块链解决方案TXT项目就需要储存大量的数据,对于这些数据我们并不会储存到内存(RAM),而是设计了一套第二层的储存链。通过这种方式,TXT只需要把大部分数据都存到了储存链,对主链的内存需求就大大减少了。”[2018/7/25]
用户身份验证
发送和获取交易
监听智能合约事件
与智能合约互动
默认情况下,大多数智能合约是不可变的,一旦代码部署到区块链上,就无法做出任何修改。因此,不鼓励在以太坊主网上测试,因为我们不能在部署后进行更改。
为了解决这个问题,以太坊开发人员可以使用测试区块链网络 (testnet) 来测试 dapp。测试网络可以让我们看到智能合约在区块链上如何工作,允许我们在启动它之前找到缺陷。
Ganache 是用于以太坊开发的本地区块链,可以作为命令行工具或桌面应用程序使用。区块链开发人员可以使用 Ganache 部署智能合约和执行测试。
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。