V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 支持 Solana 登录

你可以在 V2EX 设置中绑定 Solana 地址,然后就可以用 Phantom / Glow 登录 V2EX。

Get V2EX Coin

9raUVuzeWUk53co63M4WXLWPWE4Xc6Lpn7RS9dnkpump

timqian
V2EX  ›  Solana

做了一个 0 手续费交易 $V2EX 的工具: puzi.io

  •  
  •   timqian · 14 天前 · 3479 次点击

    🔗 直达链接:puzi.io/trade/v2ex

    为什么做这个?

    看到目前交易 $V2EX 即使是最优方案也要收 0.3% 手续费,于是我开发了这个完全免费 (仅需 gas) 的交易工具。

    怎么用?

    1. 连接钱包
    2. 设定数量和价格
    3. 上架代币

    核心特性

    • 0 手续费:合约层面不收取任何费用,只需支付链上 Gas
    • 完全开源:前端和智能合约代码全部开源,欢迎审计
    • 去中心化:基于挂单撮合机制,无中心化控制
    • 支持多币种:除了 V2EX ,还支持交易任意 SPL 代币

    相关链接

    其他功能

    除了交易 V2EX ,你还可以:

    • 交易其他代币(如 WSol
    • 在自己的铺子上架任意 SPL 代币供他人购买

    ⚠️ 免责声明

    这是一个实验性的开源项目。虽然代码经过多轮审查( GPT 和 Claude 各审了两遍),但仍可能存在未知风险:

    • 建议先用小额测试
    • 欢迎大家 review 代码
    • 使用前请了解相关风险,损失自负

    发现 bug 或有改进建议? 欢迎在 GitHub Issues 提出,一起让这个工具变得更好!

    48 条回复    2025-09-02 10:16:03 +08:00
    JoeJoeJoe
        1
    JoeJoeJoe  
    PRO
       14 天前
    op 的智能合约是交了两年租金么?
    betteron
        2
    betteron  
       14 天前
    @JoeJoeJoe 问下,sol 上部署合约需要多少 sol ?两年租金是啥意思
    channg01
        3
    channg01  
       14 天前
    @betteron #2 部署智能合约花 sol 的,如果够了多少就永久免租了,关了程序能退回。大概两三个 sol ,我估计都是直接用 anchor deploy 的。
    JoeJoeJoe
        4
    JoeJoeJoe  
    PRO
       14 天前
    @betteron 之所以问两年租金是因为 solana 有一个两年押金免租金的规则

    部署合约需要多少 sol 取决于你的程序大小, 详细可以参考这篇 blog: https://blog.csdn.net/qq_33842966/article/details/137547561
    timqian
        5
    timqian  
    OP
       14 天前
    @JoeJoeJoe 我这个是交了两年租金所以永久免租的,而且只要合约上有其他用户的挂单,任何人包括我自己无法收回这个租金。所以我理解这个合约一旦有人用起来就 "和 solana 共存亡了"
    channg01
        6
    channg01  
       14 天前


    总计支付好像不对吧
    JoeJoeJoe
        7
    JoeJoeJoe  
    PRO
       14 天前
    @channg01 #6 这个地方的购买数量不对好像, 实际是按 1 个 v 币算的

    JoeJoeJoe
        8
    JoeJoeJoe  
    PRO
       14 天前




    好像是这个数量的格式问题, 带着","计算是按照 1 来算的
    timqian
        9
    timqian  
    OP
       14 天前
    @channg01 @JoeJoeJoe 感谢反馈,这个前端显示有点问题,目前需要选中数量重新填写一下,否则就是购买一个币,我来修复一下
    timqian
        10
    timqian  
    OP
       14 天前
    @channg01 @JoeJoeJoe 已修复!
    zenfsharp
        11
    zenfsharp  
       14 天前
    厉害了,参与一下
    ooTwToo
        12
    ooTwToo  
       14 天前
    这是 C2C 撮合,交易靠转账?思路不错。
    zenfsharp
        13
    zenfsharp  
       14 天前
    哎?怎么使用 SOL/V2EX 交易对?
    timqian
        14
    timqian  
    OP
       14 天前
    #12 @ooTwToo 大概是这个意思,用户 A 可以把任意代币放在托管账户,用户 B 使用用户 A 指定的另一种代币来交换用户 A 的代币。合约在此: https://github.com/timqian/puzi.io/blob/main/program/programs/puzi/src/lib.rs

    #13 目前 V2EX -> SOL 只能在自己铺子上架,还没有一个像 puzi.io/trade/v2ex 这样的界面,如果需要的人多,也可以加一下
    mazyi
        15
    mazyi  
    PRO
       14 天前
    这种在币价波动剧烈的时候,可以来套利哈哈哈
    zenfsharp
        16
    zenfsharp  
       14 天前
    可不可以理解为像股市一样挂单有?

    但是我的理解是这样的:

    - 如果池子里的便宜,我就直接在池子里买;
    - 如果挂单的便宜,挂单的人就撤单放在池子里卖了
    - 因此能在这里挂着的,只跟池子里的即时交易只差一丢丢手续费而已
    - 而我挂上来的单子,比池子里即时交易的价格高了就卖不出去,低了我就亏
    - 所以感觉是一个纯赔钱的买卖

    是这样吗?
    ooTwToo
        17
    ooTwToo  
       14 天前
    我用 Calude4 审计了一下合约,存在重入攻击漏洞:
    这是一个基于 Solana 的去中心化交易所(DEX)智能合约,实现了代币交易的基本功能:创建订单、购买代币和取消订单。

    ### 🔴 发现的安全问题 1. 重入攻击风险 (高危)
    - 问题 : purchase 函数中先转账给卖家,再从托管转账给买家,存在重入攻击可能
    - 影响 : 恶意卖家可能通过重入攻击多次提取资金
    - 建议 : 使用检查-效果-交互模式,先更新状态再进行外部调用 2. 价格计算精度损失 (中危)
    - 问题 : 第 58-65 行的价格计算使用整数除法,可能导致精度损失
    - 影响 : 买家可能支付不准确的价格,特别是小额交易
    - 建议 : 使用更精确的定点数计算或四舍五入机制 3. 订单 ID 冲突风险 (中危)
    - 问题 : listing_id 由用户提供,可能导致同一卖家的订单 ID 冲突
    - 影响 : 新订单可能覆盖现有订单,导致资金损失
    - 建议 : 使用自增计数器或时间戳生成唯一 ID 4. 缺少滑点保护 (中危)
    - 问题 : 购买时没有最大价格保护机制
    - 影响 : 用户可能在价格变动时支付超出预期的费用
    - 建议 : 添加 max_price 参数进行滑点保护
    timqian
        18
    timqian  
    OP
       14 天前
    #16 @zenfsharp 是挂单。

    股票买卖,币安/okx ,或者链上也有很多挂单机制的交易所。这个项目和他们不同的点是

    - 无手续费
    - 去中心化
    - 开源

    至于赔钱还是赚钱,是由你的操作决定的。这个工具就是在某些情况下可以给你节省一些手续费。
    zenfsharp
        19
    zenfsharp  
       14 天前   ❤️ 1
    @timqian 👌多谢释疑

    给 OP 创意点个赞👍
    timqian
        20
    timqian  
    OP
       14 天前
    #17 @ooTwToo 应该不会有重入攻击,Solana 的交易是原子性的,要么全部成功,要么全部失败,不允许中途再调用其他合约
    timqian
        21
    timqian  
    OP
       14 天前
    @ooTwToo 你把我的回复告诉他让他再确认下哈哈
    FireFrog
        22
    FireFrog  
       14 天前   ❤️ 1
    类似 cow 的前期思路。

    现在市面上的 dex 基本要交正滑点、池子费用、平台手续费。meme 币的平台手续费基本都高,平台手续费为 0 的也有,jupiter 的 manual 模式。不走池子的 cow 也是要收正滑点的,而且不支持 Solana 。

    如果 op 要做大做强的话👍,可以参考 cow 的思路。客户提交需求单(不转账,仅签名需求,无 gas 费)->进行匹配,需求互补->匹配失败则打包一段时间内的需求单,面向 solver 拍卖竞价。
    yuhuazhu
        23
    yuhuazhu  
       14 天前   ❤️ 1
    很棒,能挂单成交就很 nice
    timqian
        24
    timqian  
    OP
       14 天前   ❤️ 2
    @FireFrog 感谢建议和这些信息!我暂时应该不会做这么复杂,这个工具之所以取名叫“铺子”,是因为我之后还会增加创建 token 来售卖的功能,比如用来售卖自己产品的会员,服务等等。目前这个模式比较合适和简单一些
    yuhuazhu
        25
    yuhuazhu  
       14 天前   ❤️ 2
    报告,0.11 的 V2EX 被我买光了
    Livid
        26
    Livid  
    MOD
    PRO
       14 天前   ❤️ 1
    太酷了。

    这其实就是一个 onchain OTC 。
    bcbcddd888
        27
    bcbcddd888  
       14 天前
    主要是这个买卖只能在铺子上进行吗?还是自动发到代币流动池?哥 你这个可以更新一下 更新成支持现价销售的 不用输入价格的 输入价格可以是挂单 并且支持 一定比例的销售 例如一次卖百分之 10 20 30 这样 希望能被看到
    bcbcddd888
        28
    bcbcddd888  
       14 天前
    你应该为这个铺子创建一个代币 代币收入可以用来运行网站
    Livid
        29
    Livid  
    MOD
    PRO
       14 天前
    cc @chaojijun

    这种感觉很神奇,我之前设想的可能的工具非常接近这个。没想到这么快就有了。
    timqian
        30
    timqian  
    OP
       14 天前
    @bcbcddd888 感谢建议,目前买卖只支持在铺子上进行,暂时没有接入其他流动性池子和更复杂功能的打算
    timqian
        31
    timqian  
    OP
       14 天前   ❤️ 1
    @Livid 确实,之前站长的 OTC 操作,也是启发我做这个工具的灵感之一,当时在想,两个如果不是非常熟悉的人,进行这种交易的时候如果有这么一个工具就好了
    bcbcddd888
        32
    bcbcddd888  
       14 天前
    @timqian 哥 但是如果我想卖其中一个 MEME 币 必须上架咱们铺子 也必须咱们铺子上有用户来买才能完成闭环?应该要考虑接入池子 这样才能更快买卖。PS:麻烦您看一下您推特私信
    timqian
        33
    timqian  
    OP
       14 天前
    @bcbcddd888 对的,目前如果你要卖某个 meme ,需要自己已经找好意向买家了。接入池子这种可能还是用 jup 那种交易聚合器好点
    JoeJoeJoe
        34
    JoeJoeJoe  
    PRO
       14 天前
    @timqian #24 我一直想做一个类似的功能, 一直在学合约开发, op 的这个项目给我很大的帮助. 再次感谢
    Sunyin
        35
    Sunyin  
       14 天前
    有点以前玩 DNF 拍卖行那味儿,给 OP 点个赞
    channg
        36
    channg  
       14 天前
    是需要用户支付 pda 的费用吗?订单结束返还吗?
    timqian
        37
    timqian  
    OP
       14 天前
    @channg 对的
    timqian
        38
    timqian  
    OP
       14 天前
    @channg 普通代币挂单大概要 0.003 sol 租金,取消订单或者卖完时回收。如果是挂单卖 sol, 因为要创建一个 wsol 的 account ,还有 0.002 左右的租金,会在 unwrap wsol 的时候自动返还
    wwppp
        39
    wwppp  
       14 天前
    现 金能买吗?
    HomeZane
        40
    HomeZane  
       14 天前
    一直在加载交易数据中
    mangoDB
        41
    mangoDB  
       14 天前
    看起来很酷,不知道交易安全性是否可靠?#17 的担忧也是我好奇的点。
    timqian
        42
    timqian  
    OP
       14 天前
    @HomeZane 好像被公共 RPC 节点好像限制了,我挂上了自己的节点,现在应该好了
    Usaki
        43
    Usaki  
       13 天前
    在这里交易的话,价格会不会时时刻刻影响链上的价格呢,打比方我抛售了 1000w 的 V2EX 币,市场上是不是也会大幅度跌落?
    betteron
        44
    betteron  
       13 天前   ❤️ 1
    @Usaki 我尝试使用大白话的角度,给你解释你的疑问❓

    1. 东边集市 M 和西边铺子 P, 苹果 A, 银子 S

    2. 集市里的商户拥有 A, 群众拥有 S ,他们每日在上面买卖

    3. 集市里的所有 A 因为冬日的来临,被大伙儿纷纷抢购,这个时候 A 的价格会被抬高,当然也会因为隔壁村今年 A 产品很高而被贬值,这就是价格的波动,而这个集市你可以理解为 pump 池子

    4. 但是这个时候 P 家里有 1000 个苹果,他只是参考一个大概 M 的价格,然后定个价,我就这么多,任何时候你给我对应价格的钱,苹果拿走

    综上,我认为铺子 P 的苹果不多,价格不会波动, 铺子 P 的苹果很多? 铺子老板不傻,不会挂低于市场价格,如果有人收购了这么大量的苹果,进而流入市场,那么市场价格会受波动

    ps:op 的合约,更多的是价值 token 交换的中间商,拓展开来,我有如下思路: 我有一个产品(虚拟或者实物)需要用户购买,那么是不是我可以将我的虚拟产品转为 token ?然后挂到铺子,可以任意 token 购买,貌似和以往的充值相比,更加易用? 总之,这个 op 的这个思路太棒了,我觉得应该有很多实际的应用场景在。
    Usaki
        45
    Usaki  
       10 天前
    @betteron 感谢回答,很清晰明了了。
    tkhlo
        46
    tkhlo  
       9 天前
    如果我帐号的 sol 不够 Gas ,能上架 V2EX 吗?如能上架有人买可以成交吗?
    timqian
        47
    timqian  
    OP
       9 天前 via iPhone
    @tkhlo gas 不够不行,会成交的,这里可以看到是成交历史 https://solscan.io/account/4DqAA2N7V8Bun7zhQssuhGuZNxncLBGK5bV3gWiV2TQk
    tkhlo
        48
    tkhlo  
       9 天前
    @timqian 好的。感谢回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:51 · PVG 06:51 · LAX 15:51 · JFK 18:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.