ITPub博客

首页 > 区块链 > 区块链 > Fintoch分投趣系统合约开发搭建

Fintoch分投趣系统合约开发搭建

原创 区块链 作者:搭建猿punk2558 时间:2023-03-10 14:16:00 0 删除 编辑

智能合约(smart contract)其实不智能,也不是一个合约。它是在链上运行的一段程序代码,而这段程序代码运行着一套开发者写好的规则或准则,所以类似于合约有着对签约双方的规定一样。写好的合约被部署到链上之后,也会以一个地址的形式被表示(和钱包一样),而不同的钱包也都能对这个合约发送交易。

在Etherscan等Explorer上我们也能查讯到这个合约的程序代码、分投趣系统合约13z开4z77发z558,看到哪些地址跟合约互动等等。例如下图就是与Uniswap V2:Router 2这个合约互动的交易纪录,可以看到交易的接收者(“to”)不是一个钱包地址而是一个合约的地址(红色框框内)。在第二栏的部分也能看到这些交易是跟合约里的什么功能(function)互动,例如“Swap Exact Tokens for Tokens”就是在Uniswap交易所交易代币时会呼叫的功能。

智能合约的用途

在上一段我们有提到智能合约运行着一套开发者写好的规则,那这些规则有什么应用呢?最基本的就是用来发行代币,只要是应用代币或是NFT就都是由合约产生的,但原生代币没有智能合约。这就是$WETH和$ETH的不同,$WETH和其他代币一样属于基于智能合约的代币,而$ETH则是以太坊的原生代币。不论是哪种代币都能在合约里面定义这代币符合的规则,(例如以太坊的ERC-20、ERC-721、ERC-1155)它的供给量、代币的代号(symbol)等等。

链上所有的应用程序(dApp)也都是由智能合约驱动的,不论是借贷协议、去中心化交易所(DEX)、预言机或NFT市场。这些协议都是由一个或多个智能合约组成的,而合约里面都会写好各式功能,让协议能正常被用户使用。例如我们刚刚举例的“Swap Exact Tokens for Tokens”功能,就能在下图合约上看到当用户地址呼叫这个功能时,合约会做什么相对应的操作。

智能合约与链的互动

写智能合约的语言有很多中,每一条链支援的语言也不太一样,常见的语言有Solidity,Vyper和Rust。在链上执行合约的环境称为虚拟机器(VM),不同的链也有各自不同的环境(例如以太坊的就称为EVM),而这些环境能适用的程序语言也不同。像是以太坊的EVM就只能执行由Solidity写的智能合约,这也让Solidity成为现在最普遍的智能合约语言。

EVM-compatible链指的就是这些链的执行环境与以太坊的EVM是兼容的,这也代表这些链所适用的语言大都是Solidity。加上智能合约大都是开源的,所以只要是EVM-compatible的链都有很多从以太坊复制(fork)上去的协议,这些协议的智能合约大多都没有更动,主要是更改协议名称以及网页介面而已。下图可以看到Uniswap就被复制了252次,Compound、Olympus DAO等以太坊上的知名项目也有很多复制品。这也让EVM-compatible的链能快速的复制成功的协议,并形成丰富的生态,但也因而较缺乏创新的协议。比较知名的EVM-compatible链有Polygon、币安链、Avalanche,non-EVM-compatible的链则有Solana、Terra等。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020115/viewspace-2939067/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
软件开发定制:13z开4z77发z558

注册时间:2022-07-18

  • 博文量
    121
  • 访问量
    76366