Peera.

最新的

随时了解最新帖子。

帖子

2187
过滤:所有社区
  • Arnold.Peera.
    SuiJul 23, 2025
    专家问答

    在 Sui Move 中实现多重签名钱包

    目标: 构建一个安全、节能的多重签名钱包,支持: ✔ 灵活的 M-of-N 签名政策 ✔ 安全的密钥轮换和恢复机制 ✔ 交易重放保护 ✔ 与现有钱包标准的兼容性 当前的挑战: -基本共享所有权缺乏门槛执行 -安全密钥轮换实施尚不清楚 -需要强大的重放攻击防御能力 ###关键问题 存储设计 -管理动态签名者集的最佳数据结构是什么? 批准逻辑 -如何在 Move 中高效实现 Mof-N 签名验证? 3.安全与维护 -安全密钥轮换和恢复的最佳实践? 攻击缓解 -如何防止 Sui 对象模型中的签名重放攻击?

    • Sui
    • Transaction Processing
    • Move
    2
    1
  • Elvin CLONE .Peera.
    SuiJul 23, 2025
    专家问答

    对 Playtron 钱包和缺少的奖励感到困惑?

    我的 suiplay 主机出现了问题. 我注册了一个钱包地址,但在我的现有账户中找不到. 我预购了游戏机,现在我很困惑空投和奖励应该放在新的 Playtron 钱包里还是我现在的钱包里. 有人能解释一下这个钱包系统是如何工作的,为什么我看不到奖励吗?

    • Sui
    • Architecture
    0
    0
  • Benjamin XDV.Peera.
    SuiJul 23, 2025
    专家问答

    在 Move 中实施除 SUI 和 COIN 之外的自定义代币标准

    我需要在Sui Move中创建一个自定义代币标准(例如,用于变基代币、打包资产或治理代币),该标准: -将功能扩展到 sui:: coin:: Coin 以外 -保持与钱包/市场的兼容性 -针对特殊用例优化存储 -遵循安全性和可升级性的最佳实践 当前的挑战: -基本的硬币复制有效,但缺乏创新 -不确定如何处理动态供应(变基) -需要在没有 SIP 标准化的情况下获得市场认可 问题: 自定义代币最灵活的架构是什么? 如何实现不可转让的代币(例如 soulbound)? 3.补给调整的最佳模式(铸造/燃烧挂钩)? 如何实现与现有标准的部分兼容?

    • Sui
    • Move
    1
    1
  • article banner.
    Owen.Peera.
    Owen556
    SuiJul 23, 2025
    文章

    无法连接我的 Ledger 设备来发送我的 SUI 代币 — 我的解决方案

    如果你曾经尝试使用你的Ledger硬件钱包发送SUI代币,但收到了令人沮丧的消息“连接你的Ledger设备再试一次”,你并不孤单. 这个问题让许多 SUI 持有者感到困惑,尤其是当他们的 Ledger 设备显然已插入、解锁并且可以与其他加密货币(如比特币或以太坊)完美搭配使用时. 让我们深入探讨这个问题、适用于无数用户的解决方案,以及如何确保即使在固件更新后也能访问你的SUI代币. 问题:突然断开连接 想象一下:几个月来,您已经使用Ledger设备成功发送和接收SUI代币. 有一天,你尝试发送一笔交易,但你的Sui Wallet扩展程序没有继续,而是显示: “连接您的 Ledger 设备并重试. ” 你仔细检查一下显而易见的事实: -账本已插入. -SUI 应用程序已在设备上打开. -您的计算机可以识别硬件钱包. -通过Ledger Live进行的其他加密交易可以完美运行. 但是,错误仍然存在. 这种情况影响了跨平台的用户,通常是在对Ledger Nano S或Nano X进行固件更新(例如,固件版本1.3或2.4.0)之后. 根本原因在于Sui Wallet扩展程序如何与Ledger的更新软件进行交互. 尽管您的资金是安全的,但断开的连接使您无法管理SUI代币. 解决方案:删除并重新添加您的分类账账户 经过数小时的故障排除,用户发现了一个可靠的解决方法:在Sui Wallet扩展程序中删除并重新添加账本关联账户. 此过程迫使钱包与您的硬件设备重新建立安全连接,从而解决固件更改导致的通信故障. 以下是安全操作的方法: ####第 1 步:删除账户 打开Sui 钱包浏览器扩展程序(Chrome 或 Edge). 点击左上角的汉堡菜单 (☰) 以访问设置. 3.导航到账户. 选择有问题的账本关联的 SUI 账户. 点击删除账户并确认操作. 注意:删除账户只会删除其在钱包界面中的引用. 您的私钥和资金仍安全地存储在 Ledger 设备上. ####第 2 步:重新添加账本账户 确保您的Ledger设备已连接并已解锁. 导航到 Ledger 上的SUI 应用程序,然后按下两个按钮将其启动. 3.在 Sui 钱包扩展程序中,转到设置 > 账户. 点击连接账本钱包,然后点击继续. 选择您的 Ledger 设备,然后点击连接. 选择您之前使用的 SUI 帐户(它将使用您的助记词重新生成). 点击解锁. 你的 SUI 余额现在应该会显示出来,你将恢复无误地发送代币的能力. ###为什么这行得通:固件更新和钱包兼容性 像Ledger这样的硬件钱包依赖固件更新来增强安全性和功能. 但是,这些更新有时会干扰第三方钱包(例如Sui Wallet)与设备的交互方式. 例如: Ledger Nano S 固件 1.3和Nano X 固件 2.4.0**更改了 SUI 应用程序的识别方式. -Sui Wallet 扩展程序中的缓存账户数据已过时,导致连接失败. 通过删除并重新添加该账户,您: -清除损坏或过时的连接数据. -强制钱包与更新的固件同步. -在账本上重新验证 SUI 应用程序会话. 这类似于 Ledger 集成的 “软重置”,在不影响安全性的前提下解决兼容性问题.

    • Sui
    • Transaction Processing
    2
  • article banner.
    Owen.Peera.
    Owen556
    SuiJul 23, 2025
    文章

    我的加密钱包中无法识别的硬币——这是什么意思?

    如果你曾经打开过你的加密货币钱包,发现了你不记得购买或收到的陌生代币或硬币,那么你并不孤单. 这种常见的现象被称为 “无法识别的硬币” 或 “空投”,可能会让新手和有经验的加密用户感到困惑,有时甚至令人担忧. 了解这些未被识别的资产的含义以及如何处理它们对于维护钱包的安全和对数字资产做出明智的决策至关重要. 什么是无法识别的硬币? 无法识别的硬币是加密货币代币或在您不明确知情或未采取任何行动的情况下出现在您的钱包中的硬币. 其中可能包括各种类型的数字资产: -空投:项目向现有钱包持有者分发的免费代币 -分叉硬币:根据现有区块链拆分创建的新加密货币 -诈骗代币:旨在欺骗用户的欺诈性代币 -合法的项目代币:来自您可能与之互动的项目的真实代币 -尘埃代币:极少量的各种加密货币 无法识别的 Sui 代币 就Sui而言,原生代币是SUI,它存在于Sui 0x2区块链的特定模块(通常)中. 但是,任何人都可以使用 Sui Move 语言创建自定义代币,这些代币在名称或符号上可能与 SUI 相似,但它们不是真实的东西. 为什么我的钱包里会出现假的 SUI 代币? 您可能会收到无法识别的代币有多种原因: 代币垃圾邮件(在 Sui 和以太坊上很常见) 开发人员或诈骗者可以创建虚假代币,并将少量(或更大的代币)发送到数千个钱包. 这通常是为了: -推广新项目 -测试代币分配 -诱使用户与恶意智能合约进行交互 在这种情况下,可能有人部署了虚假的 “SUI” 代币并将其发送到多个地址,包括用户的地址. 空投测试或营销 一些项目使用假代币作为测试或营销活动的一部分. 但是,这些代币通常没有价值,也不可交易. 网络钓鱼尝试 假代币可能是骗局的一部分. 目标是让你感到好奇、点击链接、访问虚假网站或与恶意 DApp 互动,这可能会导致你的真实资金损失. 如何验证真实的 SUI 代币? 要确认代币是否为正版 SUI,请检查以下内容: -模块地址:中定义了官方 SUI 代币0x2::sui::SUI. 来自其他模块(例如 0x4ca8...)的任何代币都不是真正的 SUI. -代币类型:Real SUI是一种系统级的汽油代币,用于支付交易费用. -钱包识别:像Sui钱包、Ethos或Backpack这样的可信钱包只能显示来自正确模块的真实SUI. -区块链浏览器:使用Sui Explorer查找您的地址并检查代币的详细信息. 您将看到完整类型,包括模块和合同.

    • Sui
    • Security Protocols
    2
  • article banner.
    Meaning.Sui.Peera.
    SuiJul 23, 2025
    文章

    本文旨在学习和理解从 $BTC 到 $SUI 的 #UTXO 模型

    本文旨在学习和理解 UTXO 模型. 它使用一种易于理解的方式来简单地整理出从BTC到$SUI的UTXO模型和实现方法. 我将提供全面的概述,为了清晰和深入,我们将在此对其进行扩展,从而确保进行专业和透彻的分析. 作为比特币的核心设计原则之一,UTXO模型自诞生以来已成为区块链领域的重要技术范例. 它在确保交易安全性和可追溯性方面起着重要作用,并提供了除传统账户余额模型之外的另一条途径. 随着近年来区块链技术的不断更新和迭代,UTXO 模型本身也在不断发展和扩展. UTXO 及其起源简介 UTXO模型或未花费的交易输出是比特币的基本概念,其中每笔未花费的交易输出都作为UTXO进行跟踪. 该模型将交易视为现金,其中支出涉及选择特定的UTXO来支付金额,而不是修改单一余额. 示例:爱丽丝和鲍勃各起价为5美元. 在账户模型中,如果鲍勃抢走爱丽丝2美元,爱丽丝的余额变为3,鲍勃的余额变为7. 在UTXO模型中,爱丽丝的5美元UTXO用于创建两个新的UTXO:2美元给鲍勃,3美元返还给爱丽丝,鲍勃现在持有他最初的5美元UTXO和新的2美元UTXO,总共7美元. 与账户/余额模型的比较 账户/余额模型在银行业中很常见,它保持每个账户的单一余额,每笔交易都会更新. 它很简单,但是当多笔交易修改同一个账户时,会出现争用问题,通常需要锁定并导致性能瓶颈,尤其是在高交易量的情况下. 相比之下,UTXO 模型,如《探索UTXO模型:它在区块链世界中的与众不同之处》中所述?,通过在独立的 UTXO 上处理事务来避免这种情况,实现无锁的并行执行,从而提高吞吐量和并发性. 隐私是另一个优势,加密钱包每笔交易都会生成新的地址,这使得与个人关联变得更加困难,这与账户模型的固定地址不同,后者更容易受到关联分析的影响. 但是,如什么是 UTXO?中所述,UTXO 在处理复杂业务逻辑(例如多阶段合约)方面的局限性导致了以太坊基于账户的模型未花费的交易输出说明. SUI 的对象模型:桥接 UTXO 和账户模型 正如 X 帖子中所详述并由 Object Model | Sui 文档支持的那样,SUI 以对象而非账户为中心存储,有两种密钥类型:OwnedObject(地址所有)和 SharedObject. OwnedObject增强了UTXO,只有所有者才能操作,并且每个版本仅使用一次,这符合UTXO的原则. 例如,地址拥有的对象只能由其所有者修改,类似于花费 UTXO. 相反,所有人都可以访问SharedObject,类似于账户模型,但需要达成共识才能排序读取和写入,从而解决了状态争用,如 Sui Components | Sui 文档中所述. 这是通过本地排序等特殊处理来管理的. Sui 的面向对象方法强调了 SUI 的模型如何影响可扩展性、安全性和用户体验.

    • Sui
    0
  • article banner.
    Meaning.Sui.Peera.
    SuiJul 23, 2025
    文章

    在 Sui Move 中开发骰子游戏合约

    在本教程中,我将指导你完成使用Sui Move创建骰子游戏智能合约的过程. 该合同允许玩家对掷骰子的结果进行投注,由管理员管理奖池. 最后,你将拥有一份功能齐全的合约,并对Sui Move的几个关键概念有扎实的了解. 简介 我们将构建的骰子游戏合约允许以下功能: 初始化:合约创建者设置游戏. 管理员管理:管理员可以将代币存入奖池并根据需要将其提取. 玩家互动:玩家通过猜测掷骰子结果和下注来参与. 本教程假设你对Sui Move有基本的了解,重点是通过实际实现引入新概念. 在深入研究代码之前,让我们探索一下您将遇到的关键概念: 1.1 添加依赖关系: 要使用其他合约(例如,水龙头代币合约)中的代币,您需要将其作为依赖项添加到您的项目中. 这是通过更新合约的 Move.toml 文件来完成的: 1.2 使用断言 断言可确保在合同执行期间满足某些条件. 断言!宏检查条件,如果失败,则抛出错误并停止执行. 这对于防止无效状态很有用,例如下注超过玩家余额. 1.3 生成随机数 骰子游戏中的公平性依赖于随机数的生成. Sui Move 为此提供了随机模块. 你将创建一个 RandomGenerator 对象,用它来生成 1 到 6 之间的随机数,模拟掷骰子. 1.4 使用硬币和余额 在Sui Move中,代币使用硬币和余额模块进行管理: 硬币:余额周围的包装,用于转移代币. 余额:代表实际代币金额,允许进行拆分和合并等操作. /// Game: Dice rolling. Players bet and guess the number. If correct, they win an amount equal to their bet; if incorrect, the bet goes to the game pool. module game_duck:game_duck; use sui::balance::{Self, Balance}; use sui::coin::{Self, Coin}; use sui::random::{Random, new_generator, generate_u8_in_range}; use coin_duck::duckfaucet::DUCKFAUCET; const ErrorUserInsufficient: u64 = 0x101; const ErrorGameInsufficient: u64 = 0x102; public struct Game has key { id: UID, pool_amount: Balance, } public struct Admin has key { id: UID, } fun init(ctx: &mut TxContext) { let game = Game { id: object::new(ctx), pool_amount: balance::zero() }; transfer::share_object(game); let admin = Admin { id: object::new(ctx) }; transfer::transfer(admin, ctx.sender()); } public entry fun addCoinToGamePool(game: &mut Game, in_coin: &mut Coin, amount: u64, _: &mut TxContext) { let value = coin::value(in_coin); assert!(amount = amount, ErrorGameInsufficient); let coin = coin::take(&mut game.pool_amount, amount, ctx); transfer::public_transfer(coin, ctx.sender()); } entry fun play(game: &mut Game, random: &Random, guess_num: u8, in_coin: &mut Coin, amount: u64, ctx: &mut TxContext) { assert!(game.pool_amount.value() >= (amount * 3), ErrorGameInsufficient); assert!(in_coin.balance().value() >= amount, ErrorUserInsufficient); let mut g = new_generator(random, ctx); let win_num = generate_u8_in_range(&mut g, 1, 6); if (win_num == guess_num) { let reward_coin = coin::take(&mut game.pool_amount, amount, ctx); in_coin.join(reward_coin); } else { addCoinToGamePool(game, in_coin, amount, ctx); } } 代码分解结构 游戏:具有唯一ID和pool_amount(余额)的共享对象,用于存储奖池. 管理员:管理员拥有的用于初始化(初始化)管理池的关键对象.

    • Sui
    • Architecture
    0
  • Meaning.Sui.Peera.
    SuiJul 23, 2025
    讨论

    将上限升级到 0x0

    如果我想使软件包不可变,我可以在部署时将升级上限设置为 0x0 吗?这会导致任何问题吗?换一枚硬币. 让 upgrade_cap = sui:: package:: claim_upgrade_cap (ctx); 转移:: public_transfer(upgrade_cap,@0x0);

    • Sui
    0
    1
  • Meaning.Sui.Peera.
    SuiJul 23, 2025
    讨论

    用于旧 sui 钱包的 zklogin

    在 slush 合并之前,我有带有 zklogin 的旧 sui 钱包. 已经有几个月没有使用它了,现在我无法使用谷歌登录来登录我的钱包. 如何将该账户充值到新钱包或者如何将我的资金转移到另一个钱包?

    • Sui
    0
    1
  • harry phan.Peera.
    SuiJul 23, 2025
    专家问答

    Sui 上目前有多少全链上游戏处于活跃状态或正在开发中?

    Sui 上目前有多少全链上游戏处于活跃状态或正在开发中?

    • Sui
    0
    2