什么是智能合约与dApps?智能合约的用途
这篇将跟大家介绍「智能合约」的概念,我们将带大家了解智能合约是什么、智能合约和链之间是怎么互动的。有兴趣了解的朋友就继续看下去吧!
这篇的内容将分为:
- 智能合约是什么
- 智能合约的用途
- 智能合约与链的互动
智能合约是什么
智能合约(smart contract)其实不智能,也不是一个合约。它是在链上运行的一段程序代码,而这段程序代码运行着一套开发者写好的规则或准则,所以类似于合约有着对签约双方的规定一样。写好的合约被部署到链上之后,也会以一个地址的形式被表示(和钱包一样),而不同的钱包也都能对这个合约发送交易。在Etherscan等Explorer 上我们也能查讯到这个合约的程序代码、看到哪些地址跟合约互动等等。例如下图就是与Uniswap V2 : Router 2这个合约互动的交易纪录,可以看到交易的接收者(“to”)不是一个钱包地址而是一个合约的地址(红色框框内)。在第二栏的部分也能看到这些交易是跟合约里的什么功能(function)互动,例如“Swap Exact Tokens for Tokens” 就是在Uniswap交易所交易代币时会呼叫的功能。
Etherscan 上与Uniswap V2 : Router 2 合约互动的交易。资料来源:Etherscan
智能合约的用途
在上一段我们有提到智能合约运行着一套开发者写好的规则,那这些规则有什么应用呢?最基本的就是用来发行代币,只要是应用代币或是NFT 就都是由合约产生的,但原生代币没有智能合约。这就是$WETH 和$ETH 的不同,$WETH 和其他代币一样属于基于智能合约的代币,而$ETH 则是以太坊的原生代币。不论是哪种代币都能在合约里面定义这代币符合的规则,(例如以太坊的ERC-20、ERC-721、ERC-1155)它的供给量、代币的代号(symbol)等等。
链上所有的应用程序(dApp)也都是由智能合约驱动的,不论是借贷协议、去中心化交易所(DEX)、预言机或NFT 市场。这些协议都是由一个或多个智能合约组成的,而合约里面都会写好各式功能,让协议能正常被用户使用。例如我们刚刚举例的“Swap Exact Tokens for Tokens” 功能,就能在下图合约上看到当用户地址呼叫这个功能时,合约会做什么相对应的操作。
Etherscan 上可以直接看到Uniswap V2 : Router 2 合约里的功能(function)。资料来源:Etherscan
智能合约与链的互动
写智能合约的语言有很多中,每一条链支援的语言也不太一样,常见的语言有Solidity, Vyper 和Rust。在链上执行合约的环境称为虚拟机器(VM),不同的链也有各自不同的环境(例如以太坊的就称为EVM),而这些环境能适用的程序语言也不同。像是以太坊的EVM 就只能执行由Solidity 写的智能合约,这也让Solidity 成为现在最普遍的智能合约语言。
由Solidity 写的智能合约大约占84%。资料来源:DeFiLlama
EVM-compatible 链指的就是这些链的执行环境与以太坊的EVM 是兼容的,这也代表这些链所适用的语言大都是Solidity。加上智能合约大都是开源的,所以只要是EVM-compatible 的链都有很多从以太坊复制(fork)上去的协议,这些协议的智能合约大多都没有更动,主要是更改协议名称以及网页介面而已。下图可以看到Uniswap就被复制了252 次,Compound、Olympus DAO等以太坊上的知名项目也有很多复制品。这也让EVM-compatible 的链能快速的复制成功的协议,并形成丰富的生态,但也因而较缺乏创新的协议。比较知名的EVM-compatible 链有Polygon、币安链、Avalanche,non-EVM-compatible 的链则有Solana、Terra等。
以太坊上成功的协议都被复制过非常多次。资料来源:DeFiLlama
以上就是我们有关「智能合约」这个主题的介绍,希望有帮助大家了解链上的应用程序是怎么运作的。
你可能感兴趣的文章
-
智能合约是什么意思?智能合约是如何运行的?
这篇文章主要介绍了智能合约是什么意思?智能合约是如何运行的?的相关资料,需要的朋友可以参考下本文详细内容介绍…
2023-03-06 -
区块链的基本架构有哪些?一文读懂区块链的基本架构
这篇文章主要介绍了区块链的基本架构有哪些?一文读懂区块链的基本架构的相关资料,需要的朋友可以参考下本文详细内容介绍…
2023-02-10 -
智能合约的目的是什么?智能合约的目的及用途介绍
这篇文章主要介绍了智能合约的目的是什么?智能合约的目的及用途介绍的相关资料,需要的朋友可以参考下本文详细内容介绍…
2023-01-30 -
元交易合约如何实现?智能合约开发实战:元交易(Metatransaction)系列二
这篇文章主要介绍了元交易合约如何实现?智能合约开发实战:元交易(Metatransaction)系列二的相关资料,希望小编的这篇关于元交易合约如何实现的文章,能够帮助各位投资者对…
2021-12-15 -
什么是元交易?智能合约开发实战:元交易(Metatransaction)系列一
这篇文章主要介绍了什么是元交易?智能合约开发实战:元交易(Metatransaction)系列一的相关资料,希望小编的这篇关于什么是元交易的文章,能够帮助各位投资者对元交易有一个…
2021-12-15 -
比特币Taproot升级11/16启动!引入智能合约、提高隐私
这篇文章主要介绍了比特币Taproot升级11/16启动!引入智能合约、提高隐私的相关资料,需要的朋友可以参考下,本次升级旨在提高多重签名(multisig)交易的隐私性以及将轻量级…
2021-12-08 -
以太坊智能合约及大部分Token都在用的ERC标准是什么?
这篇文章主要介绍了以太坊智能合约,以及大部分Token都在用的ERC标准是什么?的相关资料,希望这篇关于以太坊智能合约和ERC标准是什么的文章,能够帮助各位朋友对ERC有个更加…
2021-12-02 -
区块链智能合约中的并发性和并行性
这篇文章主要介绍了区块链智能合约中的并发性和并行性的相关资料,希望这篇关于智能合约中的并发性和并行性的文章,让大家都能深入了解智能合约,下面一起来看看详细内容吧…
2021-11-09 -
一文弄懂区块链和以太坊智能合约的由来和运行原理
这篇文章主要介绍了一文弄懂区块链和以太坊智能合约的由来和运行原理的相关资料,希望这篇关于区块链和智能合约的文章,让大家能够深入的了解区块链和以太坊智能合约的由来…
2021-11-08 -
以太坊智能合约是什么?以太坊的智能合约有什么用
这篇文章主要介绍了以太坊智能合约是什么?以太坊的智能合约有什么用,下面小编W为大家整理一篇比较详细的教程,希望能帮助到投资君!…
2021-11-03