人工智能产业链的基本内容包括基础层、技术层和应用层三个层次,基础层包括AI芯片,智能传感器,云计算,数据服务、5 G通讯;技术层包括机器学习,计算机视觉,算法理论,智能语音,自然语言处理等;
人工智能技术在机器技术中肩负着人类整合信息、分析数据和获得洞察技术,并使其提高效率、优化决策判断成为科学技术和数字经济时代的一个重要支柱
通俗来说,数字经济是随着信息技术革命发展而产生的一种新的经济形态。
#notice Deposit ETH and Tokens(self.token)at current ratio to mint UNI tokens.
#dev min_liquidity does nothing when total UNI supply is 0.
#param min_liquidity Minimum number of UNI sender will mint if total UNI supply is greater than 0.用户能接受的最少流动性代币
#param max_tokens Maximum number of tokens deposited.Deposits max amount if total UNI supply is 0.用户想要提供的代币数量最大值。
#param deadline Time after which this transaction can no longer be executed.
#return The amount of UNI minted.所铸造的流动性代币数量
#根据流动性池中ETH和代币的比例等比例添加两种币,并获得等比例份额的流动性代币
public
payable
def addLiquidity(min_liquidity:uint256,max_tokens:uint256,deadline:timestamp)->uint256:
assert deadline>block.timestamp and(max_tokens>0 and msg.value>0)
total_liquidity:uint256=self.totalSupply#获得流动性代币总供应量
if total_liquidity>0:#非该池子第一次添加流动性
assert min_liquidity>0#添加的流动性最小也要大于0
eth_reserve:uint256(wei)=self.balance-msg.value#获得ETH储备量
token_reserve:uint256=self.token.balanceOf(self)#获得代币储备量
#根据投入的ETH数量计算需要投入的代币数量
#最后+1是手动向上取整,防止默认的向下取整减少流动性池应收的代币数量,进而逐渐稀释份额
token_amount:uint256=msg.value*token_reserve/eth_reserve+1
#计算需要铸造的流动性代币数量
#这里不向上取整是为了保证铸造的流动性代币价值<代币价值以防止流动性代币价值的稀释
liquidity_minted:uint256=msg.value*total_liquidity/eth_reserve
assert max_tokens>=token_amount and liquidity_minted>=min_liquidity
self.balances[msg.sender]+=liquidity_minted#铸造流动性代币并发放给提供者
self.totalSupply=total_liquidity+liquidity_minted#更新流动性代币总供应量
assert self.token.transferFrom(msg.sender,self,token_amount)#收取代币
log.AddLiquidity(msg.sender,msg