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 返回给流动性提供者。

相关文章
|
存储 安全 算法
Jogger跑鞋NFT铸造合成分红系统开发成熟技术方案及详细/源码功能
  区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
|
8月前
|
存储 监控 测试技术
BRC铭文NFT铸造交易所系统开发运营版丨需求设计丨方案逻辑丨案例详细丨源码程序
需求分析:首先,明确系统的功能需求和业务流程。确定系统需要支持的NFT铸造功能、交易所功能
|
8月前
|
存储 安全 区块链
DAPP质押代币项目系统开发/技术分析/源码搭建
Web3.0技术栈中,去信任的交互协议和平台、分布式存储、隐私计算是生态必须率先发展完备的核心技术
|
8月前
|
存储 人工智能 安全
铸造NFT盲盒质押DAPP系统开发技术方案
经过30年的发展,互联网正在从Web2.0到Web3.0的方向演进
|
安全 区块链
NFT卡牌游戏链游系统开发|NFT铸造合约模式系统开发(成熟技术)
区块链技术的点对点、共同参与等特点,保障了参与者最大程度上的自由和隐私
|
安全 区块链 数据安全/隐私保护
NFT铸造合成项目系统开发|DAPP开发
智能合约的特点包括可编程性、自治性、不可篡改性和安全性
|
安全 区块链 存储
|
区块链 数据安全/隐私保护 Python
DAPP燃烧铸造币合约项目系统开发|模式案例
“Web3.0”是对“Web2.0”的改进,其利用区块链技术去中心化的特点和优势显而易见
|
区块链 开发者
NFT盲盒系统开发实现构建技术分析(源码示例)
NFT盲盒系统的开发需要涉及到区块链技术、数字资产编码技术以及盲盒销售系统等多个方面。开发者需要考虑如何保证数字资产的安全性和惟一 性,同时还需要保证盲盒销售的顺畅和公正。 NFT盲盒系统的开发是一个复杂而创新的过程,需要技术、创意和资金的支持。
|
Python 计算机视觉 存储
什么是PIL派链NFT铸造系统开发丨PIL派链NFT铸造系统开发(开发详细)及源码案例
 cv::imread() 默认读取为三通道BGR,需要进行B/R通道交换,这里采用 cv::cvtColor()实现。

热门文章

最新文章

相关实验场景

更多