什么是智能合约?
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
智能合约是 web3 的一部分,它们是当预设条件满足时自动运行的小型程序。如果您是 web3 新手,我建议您阅读这篇博客文章,其中重点介绍了一些常用术语。这些程序通常很短(代码少于 500 行),并且完全存储在类似区块链的公共分布式账本上。任何人都可以查看合约的源代码,并验证其是否按预期运行。智能合约一旦部署,就不可更改。
智能合约主要使用一种名为 Solidity 的类型化编程语言编写。Solidity 文件的扩展名为 .sol。您可以在这里查看示例。Solidity 开发人员的需求量非常大,我建议您了解一下智能合约所带来的无限可能。
智能合约是去中心化应用程序的重要组成部分,我们将在下一节中详细讨论。
去中心化应用
智能合约的自主性使得创新者能够在分布式账本上构建完全自给自足的应用程序。一些对去中心化金融(DeFi)发展起到关键作用的杰出应用正是利用智能合约构建的。例如,去中心化交易所(如Uniswap、dy/dx和Sushiswap)以及Opensea等市场平台。
相信
这些程序的优势在于,您可以验证它们的真实性,并确认它们是否真的在执行它们所宣称的功能。这使得在互不信任的匿名利益相关者之间建立一个无需许可的自主生态系统成为可能。
范围
编写智能合约时,可以将函数定义为公共函数或私有函数。公共函数无需任何权限即可被任何一方调用,而私有函数只能由智能合约自身调用。这指定了谁可以调用这些函数。还可以为这些权限设置条件。例如,某些 NFT 项目会允许用户在其钱包中拥有某个已发行的 NFT 时,才能获得专属空投。有很多方法可以自定义权限范围逻辑。
可组合性
可组合性是指与其他系统集成和协作的能力。由于部署在公共账本上的智能合约是公开的,因此其他智能合约可以访问它们并与之交互。这便催生了一个可以相互交互的合约生态系统。
成本节约型编程
使用去中心化的公共账本需要支付交易费用来维持网络运行。智能合约也是如此。当你将智能合约部署到网络时,你需要向网络支付一次性费用,以补偿程序在账本上的分配空间。这正是智能合约通常较短的主要原因,程序越大,部署成本就越高。
另一项成本由与合约交互或运行合约的用户承担。这些成本类似于传统的网络费用,用于奖励在以太坊虚拟机中运行程序的节点验证者。目前,以太坊网络的高额交易费用备受诟病。
明天会是什么样子?
这个领域的创新速度可谓迅猛。虽然智能合约最初仅在以太坊网络上受支持,但现在许多网络都在进一步拓展这项技术。Hedera Hashgraph就是其中之一,他们公开宣布推出智能合约 2.0 服务,该服务将使其原生网络优势得以充分发挥,从而更好地支持智能合约。这意味着,与其他网络上的智能合约相比,Hedera Hashgraph 能够以更低的成本支持更高的每秒交易量。这些服务的可扩展性令人振奋。更多关于新智能合约的信息,请点击此处。
文章来源:https://dev.to/0xjepsen/what-are-smart-contracts-16ai