PIL派链NFT铸造系统开发详细技术分析丨代码部署

简介: // remove bsv and token from liquidity poolpublic function removeLiquidity(PubKey sender, int lpAmount, Sig senderSig, int oldTokenBalance, int senderKeyIndex, int senderBalance,

// remove bsv and token from liquidity pool
public function removeLiquidity(PubKey sender, int lpAmount, Sig senderSig, int oldTokenBalance, int senderKeyIndex, int senderBalance,

                            int lpSenderBalance, int lpSenderKeyIndex, SigHashPreimage txPreimage) {
require(checkSig(senderSig, sender));

int oldBsvBalance = SigHash.value(txPreimage);

// withdraw amount
int bsvAmount = oldBsvBalance * lpAmount / this.lpToken.totalSupply();
int tokenAmount = oldTokenBalance * lpAmount / this.lpToken.totalSupply();

// burn the lp tokens
require(this.lpToken.burn(sender, lpSenderBalance, lpAmount, lpSenderKeyIndex));

// transfer tokens from pool to the sender
require(this.token.transferFrom(this.poolPubkey, sender, tokenAmount, oldTokenBalance, senderKeyIndex, senderBalance, senderKeyIndex));
// transfer bsvs to the sender
int newBsvBalance = oldBsvBalance - bsvAmount;

require(this.propagateState(newBsvBalance, txPreimage));

流动性提供者拥有的 LP Token 的数量来提取流动性(第 9 行和第 10 行)。提款后,LP Token 在第 13 行被烧毁。第 16 行将 Token 从池子中转移到流动性提供者。第 18 行和第 20 行对 BSV 做同样的事情。

请注意,除了合约输出之外,还需要在同一交易中的另一个输出将 BSV 返回给流动性提供者。

相关文章
|
区块链 存储
NFT链游铸造合成项目系统开发(详情方案)|NFT链游模式开发项目原理
Web3技术的兴起已经带来了我们与互联网互动方式的重大转变using(MySqlCommand cmd=new MySqlCommand(select,Conn))
|
7月前
|
存储 监控 测试技术
BRC铭文NFT铸造交易所系统开发运营版丨需求设计丨方案逻辑丨案例详细丨源码程序
需求分析:首先,明确系统的功能需求和业务流程。确定系统需要支持的NFT铸造功能、交易所功能
|
7月前
|
Python 容器 索引
BRC-20铭文合约NFT铸造交易平台系统开发规则玩法/详细步骤/项目方案/成熟技术/源码功能
有时候,像定义add2()这类简单的函数,用def来正式地写个命名、计算和返回显得稍有点麻烦,Python支持用lambda对简单的功能定义“行内函数”
|
安全 区块链
NFT卡牌链游合成游戏合约系统开发技术原理
区块链技术的链式结构,当链的长度不断增加时,节点需要处理的数据量也会增加
|
存储 安全 API
NFT/dapp卡牌链游智能合约系统开发详细指南/案例设计/规则玩法/源码项目
DApp智能合约系统开发功能是指为构建去中心化应用程序(DApp)而设计和开发的智能合约的功能。
|
安全 区块链
NFT卡牌游戏链游系统开发|NFT铸造合约模式系统开发(成熟技术)
区块链技术的点对点、共同参与等特点,保障了参与者最大程度上的自由和隐私
|
安全 区块链 数据安全/隐私保护
NFT铸造合成项目系统开发|DAPP开发
智能合约的特点包括可编程性、自治性、不可篡改性和安全性
|
存储 安全 算法
|
存储 区块链 数据安全/隐私保护
DAPP链上合约游戏系统开发技术详细丨dapp农场养成种植种树游戏项目系统开发成熟技术/规则详细/源码平台
  DAPP智能合约技术又称之为加密合约技术,是在一定的条件直接控制数字的技术,在各方之间转移的一种计算机程序。智能合约不同于传统的技术方式定义了协议处罚和规则,还定义了自动强制执行的义务。
|
区块链 开发者
NFT盲盒系统开发实现构建技术分析(源码示例)
NFT盲盒系统的开发需要涉及到区块链技术、数字资产编码技术以及盲盒销售系统等多个方面。开发者需要考虑如何保证数字资产的安全性和惟一 性,同时还需要保证盲盒销售的顺畅和公正。 NFT盲盒系统的开发是一个复杂而创新的过程,需要技术、创意和资金的支持。