4、如果我想购买NFT,而不仅仅只是出售呢? 你可以创建一个购买NFT的池子(称为 “代币”池),并用ETH为其提供资金。你可以设置购买NFT的价格,以及每次交易后调整报价的delta。你可以为你的第一次购买提供5个ETH,并使用-1的delta为你的下一次购买提供4个ETH;设置与出售NFT的池子非常相似。 5、我以为我可以在SudoSwap上即时出售NFT? 你可以,通过将你的NFT卖到提供最高买入报价的 “买入NFT池”(“代币”池)。这实际上也解释了报价的作用;要提出0.2 ETH的报价,你只需创建一个包含0.2 ETH的池子,并指定 “我将以0.2 ETH的价格购买这个系列中的任何NFT”。然后,有人可以将他们的NFT以0.2 ETH的价格卖给你的池子,把NFT给你。 6、那么DCAing呢? 如果你想做一些类似于DCAing的事情,你可以用你的初始买入价格创建一个池子,然后按照你想DCA的方向移动delta。我想你可以说这不是DCAing,因为你不是以明确的时间间隔买入/卖出,但至少你是以明确的价格买入/卖出。如果有这方面的需求,也许将来可以部署包括买入之间的 “时间锁”的联合曲线(bonding curve)。 7、交易费用呢? 如果你创建了一个 “交易”池——既提供以特定价格购买NFT,又以稍低的价格出售NFT——你可以指定每笔交易的费用百分比。 开发者须知 如果你不是一个开发者,或者你并不真正关心SudoSwap的AMM在较低层次上是如何运作的,请跳过这一部分。 在幕后,SudoSwap的LSSVMPairFactory合约正在创建新的池子(在合约层面被称为 “Pairs”),每个池子都是一个名为LSSVMPair的合约,由池子创建者拥有,并以自定义参数创建,如pair类型(代币、NFT或交易)、联合曲线类型(目前只是线性或指数)、现货价格、delta等。然后可以监测其资产的pair和价格行情(通过调用'getBuyNFTQuote'获得,如下图所示)。 LSSVMRouter合约用于代币审批(将审批合并为一个合约)和进行交换。有多种交换类型(“稳健 ”和 “正常”),每一种都以不同的方式处理 “如果这笔交易由于滑点或快速的价格变动而无法执行会怎样?”——稳健类型会跳过并向用户退款,正常类型会在发生过多的滑点时恢复。另外,作为一个开发者,交换函数直接返回未花费的代币数量这一事实是值得赞赏的。 由于各种原因,如聚合器的包容性、MEV等,你可能想自己获得定价。要做到这一点,你需要:跟踪所有的池子(通过LSSVMPairFactory的NewPair事件获取),跟踪池子里的NFT(通过LSSVMPairFactory的NFTDeposit事件,或通过池子的getAllHeldIds函数),跟踪池子里的资产(通过池子的TokenDeposit &TokenWithdrawal事件),并获得定价(通过池子的getBuyNFTQuote和getSellNFTQuote函数)。我可能忘记了一些东西,但这是要点。 (责任编辑:admin) |