IPP Swap孵化器开发系统之LP算力模型

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

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

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

  IPPswap孵化器还采用了算力补偿系数机制,即做市商投资额的1.01的N次方作为LP算力,从而鼓励早期进场的用户获得先发优势,同时也使得后来者可以通过算力补偿系数获得更多的收益。这种机制具有良好的激励效果,可以刺激用户积极参与到IPPswap孵化器中来,从而提升其生态系统的竞争力和活跃度。

  LP算力补偿系数为1.01的N次方,N为上线的天数,早入场有先机,晚入场有算力补偿。

  智能合约与链的互动

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

  智能合约在此EVM上运行。当EVM连接到网络上的其他EVM时,该EVM在作为执行环境独立的环境中执行,因此可以安全地执行某些代码,而不会严重影响其他EVM或区块链。

  在此EVM上,是否以特殊的数字顺序编写了字节码(机器语言)程序?这样的字节码程序对人类是不可读的或无用的。因此,以太坊开发了几种高级语言,专门用于编写易读性和生产性合同,以及多种编译器,将其转换为EVM字节码。典型的语言是“Solidity”。用于编写此智能合约的编程语言Solidity是图灵完整的,可以编写任何程序。

  根据这些特征,Solidity被表示为“面向合同的语言”,这是一种专门描述合同的高级语言。还有一些用于Solidity开发的集成开发环境,包括Mix,Remix(浏览器-solidity)和Visual Studio Code。

  实体代码示例

  为了使用Solidity,必须安装作为编译器的“solc”。用solc编译的字节码是使用EVM执行的。

  以下是以Solidity编写的简单智能合约“Hello World”的示例。

  contract HelloWorld{

  function get()constant returns(string retVal){

  return"Hello World!!";

  }

  }

  在HelloWorld示例中,定义了get()函数,其中定义了返回字符串Hello World的过程。上面代码中的协定是在调用get()函数时返回一个固定的字符串“Hello World!!”。这样,在Solidity中的Contract子句中声明的Contract是基本组件,并且通过描述此Contract子句中的处理来实现智能合约。

  通常,Solidity使用以下语法定义合同:

  contract Contract名{

  //在这里描述使用智能对比度的处理

  }

  Contract相当于Java或Python之类的面向对象语言中的类,持有与类变量等效的内部状态的存储部分,与方法等效的函数,在该部分有效的局部变量等

相关文章
社区活动礼品兑换攻略
社区活动礼品兑换攻略
14481 1
|
Kubernetes 安全 JavaScript
Docker 与 Podman:探索用于现代 Web 开发的容器技术
在软件开发中,Docker 和 Podman 作为主流容器化技术,各具特色。本文深入对比两者优缺点,探讨其实用场景与部署Web应用的最佳实践。Docker 凭借成熟生态和跨平台能力引领潮流;Podman 以无守护进程架构提升安全与效率。通过具体示例展示如何构建和运行Node.js与Angular应用,帮助读者理解核心命令与配置要点。无论是在开发环境还是生产部署,选择合适的工具能显著增强应用的安全性和稳定性。
864 1
|
JSON 小程序 JavaScript
微信小程序 - 新建页面以及 .js .json .wxml .wxss 的作用
微信小程序 - 新建页面以及 .js .json .wxml .wxss 的作用
632 0
|
数据采集 机器学习/深度学习 算法
重磅下载 | 6大技术方向 40+篇好文,高德如何做到日活过亿?
回首2019 年,作为首个日活过亿的国民出行平台,高德地图 to C 和 to B 的用户数都再攀新高。在背后支撑和驱动业务快速发展的,正是数千名日夜奋战的高德技术人。现在《高德技术2019年刊合辑》免费推出,6大章节全年盘点,为你揭晓有“温度”的科技!
42438 0
重磅下载 | 6大技术方向 40+篇好文,高德如何做到日活过亿?
|
Cloud Native 关系型数据库 Linux
国内独家首发版本!龙蜥操作系统(Anolis OS) 8.4 正式发行!
龙蜥社区持续稳健地加大投入,终于迎来了龙蜥操作系统(Anolis OS)8.4发布,该版本是国内仅有的首发版本!!
国内独家首发版本!龙蜥操作系统(Anolis OS) 8.4 正式发行!
|
机器学习/深度学习 人工智能 前端开发
水利行业 | 智慧河湖长制管理平台
本文介绍了水利行业 | 智慧河湖长制管理平台的方案概述,方案价值及优势以及最佳实践。
水利行业 | 智慧河湖长制管理平台
|
Java Shell 开发工具
ADB 工具包 ddmlib 的剖析与修改
因为最近开发的系统,需要从Java端控制Android,所以使用到了ADB的Java库ddmlib,它的功能非常全,而且是Google官方维护的ADB Java Lib。但是在实际使用的过程中,出现了并发使用时ADB掉线的情况,怀疑是通过ADB传输的数据带宽消耗过大导致的,所以对ddmlib进行了修改,使其可以设置每台手机的传输带宽限制。此外,为了远程调试线上系统的指定设备,我还在ddmlib加入了一个ADB Proxy的功能。
|
Web App开发 数据安全/隐私保护 Python
Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
590 0
Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示
|
Web App开发 移动开发 JSON
Chrome 远程调试协议分析与实战
某一天,A 君想获取 Chrome 页面中的性能数据,诸如时间、白屏和首屏等,因为需要和竞品进行对比分析,无法注入代码,该怎么办?
1733 0
Chrome 远程调试协议分析与实战
|
安全 网络安全 云计算
阿里acp认证简介 阿里云acp认证考试形式和试卷结构
阿里acp认证是当前很热门的从业资格考试之一,想要从事云服务云计算相关领域就必须先取得该证书。阿里云在国内占据最大的市场份额,因此阿里云认证也具备更大的认可度。阿里云认证共分为三个档次,其中acp属于“认证工程师”级别,代表持证者可以解决基于阿里云的相关产品问题。今天就介绍 阿里云acp认证考试形式和试卷结构,希望对正在准备参加培训学习的朋友能有一定帮助。
1103 0
阿里acp认证简介 阿里云acp认证考试形式和试卷结构

热门文章

最新文章