#smart-contracts #soroban #stellar #nft #web3

litemint-auction-contract

Litemint市场的拍卖智能合约,支持密封投标、递增和递减价格机制的时间拍卖

4个发布

0.1.7 2024年2月7日
0.1.5 2023年12月26日
0.1.4 2023年12月19日
0.1.3 2023年12月19日

#1638 in 魔法豆

每月 37 次下载

自定义许可

57KB
995

MIT License Twitter

litemint-auction-contract

Build Status litemint-auction-contract version

Litemint拍卖智能合约,为Litemint市场提供动力。

受MIT许可。本软件按“原样”提供,不承担任何责任。 更多信息

简介

自2021年以来,Litemint市场利用Stellar DEX进行基于时间的拍卖,利用时间限制、预先授权的交易详细信息请参阅我们的博客。虽然这些拍卖提供了安全性和互操作性,但缺乏灵活性,如反狙击机制和降序拍卖等不同的投标策略。

Soroban上的Litemint拍卖合约(Stellar的基于Rust的智能合约平台)解决了这些限制。智能合约增强了Litemint市场,同时与我们的SDEX方法共存,为用户提供全面和灵活的拍卖体验。

功能列表

  • 基于时间的拍卖,具有去中心化的解决方案。
  • 密封投标拍卖。
  • 降序价格拍卖(请参阅behavior_descending_price.rs),支持线性或复合折扣,并可自定义频率/比率。
  • 升序价格拍卖(请参阅behavior_ascending_price.rs),具有“立即购买”选项。
  • 支持 保留价出价
  • 反狙击机制。拍卖狙击会自动增加拍卖持续时间(由管理员配置的时间)并阻止狙击者取消或提交新的出价。
  • 可配置的市场佣金率。
  • 卖家可以延长拍卖持续时间。
  • 支持并发和可取消的出价。
  • 策略设计模式,便于添加新的拍卖行为。

依赖关系

soroban-kit

soroban-kit 为 Soroban 智能合约开发提供快速、轻量级的函数和宏,具有简洁、针对性的功能:https://github.com/FredericRezeau/soroban-kit

Litemint 拍卖合约使用了 soroban-kit 的以下功能

  • commitment-scheme 用于实现密封报价拍卖。
  • state-machine 用于管理拍卖阶段。
  • storage 用于存储操作中的类型安全。

入门指南

从工作空间根目录开始

  1. 克隆仓库
    git clone https://github.com/Litemint/litemint-soroban-contracts.git
    
  2. 构建合约
    soroban contract build
    
  3. 运行测试
    cargo test -- --nocapture
    
  4. 部署到测试网
    soroban contract deploy --wasm target/wasm32-unknown-unknown/release/litemint_auction_contract.wasm --source ACCOUNT --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015"
    
    output > CONTRACT_ID
    
  5. 初始化管理员
    soroban contract invoke --id CONTRACT_ID --source ACCOUNT --rpc-url https://soroban-testnet.stellar.org:443 --network-passphrase "Test SDF Network ; September 2015" -- initialize --admin ACCOUNT --anti_snipe_time 60 --commission_rate 5 --extendable_auctions true
    

贡献

如果您有改进此项目的建议,请fork仓库并创建一个pull request。您也可以简单地创建一个带有标签"enhancement"的问题。别忘了为项目加星!再次感谢!

  1. fork项目
  2. 创建您的功能分支(git checkout -b feature/feature
  3. 提交您的更改(git commit -m 'Add some feature'
  4. 推送到分支(git push origin feature/feature
  5. 打开Pull Request

许可

在MIT许可证下分发。有关更多信息,请参阅LICENSE

联系方式

LitemintHQ on X - @LitemintHQ

Litemint 市场place: https://litemint.com

加入我们的discord服务器: https://litemint.gg

依赖关系

~11–15MB
~311K SLoC