NFT铸造系统开发(成熟及技术)丨功能源码

简介: // add bsv and token to liquidity poolpublic function addLiquidity(PubKey sender, Sig senderSig, int tokenAmount, int senderBalance, int senderKeyIndex, int oldTokenBalance

增加流动性
任何人都可以通过调用函数 addLiquidity 向池中添加流动性。有
首次增加流动性:可以存入任意数量的 BSV 和 Token 。
添加更多流动性: BSV 和 Token 存入的比率必须与池中的现有比率相匹配(第 22 行)。
// add bsv and token to liquidity pool
public function addLiquidity(PubKey sender, Sig senderSig, int tokenAmount, int senderBalance, int senderKeyIndex, int oldTokenBalance,

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

int oldBsvBalance = SigHash.value(txPreimage);

// mint new lp tokens for the liquidity provider
if (oldBsvBalance == 0) {
    // initialize pool
    
    // initially, just mint new lp tokens per the amount of new bsvs deposited
    int lpMint = newBsvBalance;
    require(this.lpToken.mint(sender, lpSenderBalance, lpMint, lpSenderKeyIndex));
} else {
    // add more liquidity

    int bsvAmount = newBsvBalance - oldBsvBalance;
    
    // deposit ratio must be the same with current pool ration
    // i.e., oldBsvBalance / oldTokenBalance == bsvAmount / tokenAmount
    require(oldBsvBalance * tokenAmount == bsvAmount * oldTokenBalance);

    // mint new lp tokens, proportinal to the amount of new bsvs deposited
    int lpMint = this.lpToken.totalSupply() * bsvAmount / oldBsvBalance;
    require(this.lpToken.mint(sender, lpSenderBalance, lpMint, lpSenderKeyIndex));
}

// transfer tokens to the pool
require(this.token.transferFrom(sender, this.poolPubkey, tokenAmount, senderBalance, senderKeyIndex, oldTokenBalance, senderKeyIndex));

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

}

相关文章
|
区块链 测试技术
DAPP链游开发稳定版丨链游dapp/nft游戏系统开发成熟技术方案及源码详情
随着区块链技术的不断发展,智能合约农场在链游行业中扮演着越来越重要的角色。智能合约农场是一种基于区块链技术的应用程序,它可以帮助链游开发商快速、安全地上线定制游戏软件。本文将介绍智能合约农场在链游行业中的作用以及如何通过智能合约农场快速上线定制游戏软件。
|
存储 人工智能 物联网
NFT链游系统开发(案例详解)丨元宇宙链游开发方案
NFT链游系统开发(案例详解)丨元宇宙链游开发方案
|
安全 Go
链游系统开发案例详情/NFT元宇宙链游系统开发方案项目/成熟技术/源码逻辑
Step 1: Requirements analysis and planning. At this stage, the development team needs to have in-depth communication with clients, understand their needs and expectations, and then develop development plans and project plans.
|
Shell
OpenSea项目系统开发技术NFT元宇宙平台系统开发流程
OpenSea项目系统开发技术NFT元宇宙平台系统开发流程
140 0
|
Kubernetes 前端开发 API
NFT OpenSea平台系统开发技术方案丨技术成熟(源码部署)
NFT OpenSea平台系统开发技术方案丨技术成熟(源码部署)
154 0
|
区块链
链游开发丨3D链游系统开发(开发规则)丨DAPP链游系统开发(成熟及技术)丨源码
  区块链技术由此可以从多方面为企业赋能:提供可靠的共享数据,在各方之间建立信任;消除数据孤岛,即通过去中心化的,在一个网络中共享并支持获许可方访问的账本将数据集成到一个系统中;为数据赋予高度安全性
|
区块链 Windows
区块链链游项目系统开发技术功能丨链游NFT元宇宙系统开发技术方案
区块链链游项目系统开发技术功能丨链游NFT元宇宙系统开发技术方案
147 0
|
存储 区块链 vr&ar
NFT元宇宙链游开发设计逻辑丨NFT元宇宙链游开发源码示例
使用NFT元宇宙链游开发系统,开发者可以创建一个独特的数字世界,并添加功能丰富的故事情节、游戏规则、卡片、角色、本地角色和游戏工作室等内容。所有功能都是通过NFT代币来衡量的,例如卡中有效性的透明度;决赛前的分数将被隐藏并存储在NFT代币上。
|
存储 安全 调度
NFT链游项目系统开发技术方案丨NFT链游铸造定制开发技术
NFT链游项目系统开发技术方案丨NFT链游铸造定制开发技术
130 0
|
人工智能 大数据 区块链
3D元宇宙NFT链游系统开发(开发案例)丨3D元宇宙NFT链游开发源码详情及分析
  真正实现以大数据、云计算、人工智能、沉浸现实等诸多新技术实现联通,并且真正构建起一个完整的全新世界的,正是区块链技术。这便是区块链的功能。透过元宇宙,我们真正看到了区块链技术的这样一种联通、融合的角色与作用;透过元宇宙,我们看到了区块链技术的这样一种建构于生态之上的强大的能力。