最新的
随时了解最新帖子。
帖子
1677- 讨论为SuiMar 08, 2025
错误地退回了 SUI 而不是 APTOS,有恢复选项吗?
大家好,我最近退出了 Bybit,但错误地使用了 SUI 网络而不是 APTOS. 我将泰达币提取到了一个SUI钱包,但它不支持泰达币. 我已经检查过了,最近没有活动. 我还确认提款已由 Bybit 处理,但我拥有的交易哈希在 SUI 网络上无效. 不幸的是,这意味着我的资产可能会丢失. 有什么办法可以追回我的资金还是我运气不好?
- Sui
- Architecture
00 - 讨论Elvin CLONE 206为SuiMar 08, 2025
在纽约州哪里可以买到 $SUI?
我正在努力寻找在纽约州可以买到哪里可以买到 $SUI. 谁能帮我找到可以在这里购买 $SUI 的平台或交易所吗?
- Sui
00 - 文章为SuiMar 08, 2025
Sui Fam 官方-2025 年 3 月 7 日
Sup Sui Fam,im Ed(加密研究和分析师) 我在 X 上担任 Sui 官方社区的视频编辑,为 Sui 基金会投稿 在 Sui 上享受本周的新闻和 Alpha! 在 X 上关注 Sui Fam 官方频道: https://x.com/SuiFamOfficial 我的 X 个人资料: https://x.com/EdCryptoFi
- Sui
0 在 MaticWeth 上拨打提款会触发自动步骤吗?
我想了解 Polygon 网络内将 MaticWeth 代币转移回以太坊网络的过程. 当我对像MaticWeth这样的代币调用提款函数时,它似乎会触发向零地址的转移事件. 这个事件是否仅仅因为代币已经映射就自动启动了将代币桥回以太坊所需的前几个步骤?
- MATIC
00- 讨论为SuiMar 08, 2025
从 Sui 桥接到以太坊后 USDT 未显示
我最近将一些泰达币从我的 Sui 钱包桥接到了以太坊. 尽管我没有确认我的EVM钱包中的交易,但USDT是从Sui提取的,但没有出现在我的EVM钱包中. 你能帮我解决这个问题吗?
- Sui
- Architecture
02 - 文章为SuiMar 08, 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:综合指南](https://community.magiceden.io/learn/utxo-guide)中所详述的那样,这种方法可确保透明度并防止双重支出,在链上公开跟踪每个UTXO,同时通过匿名地址保护隐私. 不难看出,爱丽丝只剩下3美元,鲍勃只剩下7美元. 这种会计方法类似于小学加法和减法,经常出现在银行系统中,被称为账户/余额模型. 在其中,账户余额作为单一值存在. 如果使用与账户模型不同的方法,例如 UTXO 来表示 Alice 和 Bob 之间的财富转移,则图表将有所不同: 与账户/余额模型的比较 账户/余额模型在银行业中很常见,它保持每个账户的单一余额,每笔交易都会更新. 它很简单,但是当多笔交易修改同一个账户时,会出现争用问题,通常需要锁定并导致性能瓶颈,尤其是在高交易量的情况下. 相比之下,UTXO 模型,如 [探索UTXO模型:它在区块链世界中的与众不同之处是什么?] 中所述(https://blog.defichain.com/exploring-the-utxo-model-what-sets-it-apart-in-the-blockchain-world/) 通过在独立的 UTXO 上处理事务来避免这种情况,实现无锁的并行执行,从而提高吞吐量和并发性. 隐私是另一个优势,加密钱包每笔交易都会生成新的地址,这使得与个人关联变得更加困难,这与账户模型的固定地址不同,后者更容易受到关联分析的影响. 但是,UTXO在处理复杂业务逻辑(例如多阶段合约)方面的局限性导致了以太坊基于账户的模型,如 什么是UTXO?未花费的交易输出说明. SUI 的对象模型:桥接 UTXO 和账户模型 正如 X 帖子中所详述并受 对象模型 | Sui 文档 支持的那样,SUI 以对象而不是账户为中心存储,有两种密钥类型:OwnedObject(地址所有者)和 SharedObject. OwnedObject增强了UTXO,只有所有者才能操作,并且每个版本仅使用一次,这符合UTXO的原则. 例如,地址拥有的对象只能由其所有者修改,类似于花费 UTXO. 相反,每个人都可以访问SharedObject,类似于账户模型,但需要达成共识才能排序读取和写入,从而解决了状态争议,如 Sui Components | Sui 文档 所述. 这是通过本地排序等特殊处理来管理的. Sui 的面向对象方法 重点介绍了 SUI 的模型如何影响可扩展性、安全性和用户体验. SUI 中的所有权类型 | 所有权类型 | 描述 | 可访问性 | --------| -------- | 地址所有 | 由特定的 32 字节地址(账户地址或对象 ID)拥有 | 只有其所有者可以访问 | 不可变 | 无法变异、转移或删除;没有所有者 | 任何人都可以访问 | 共享 | 共享使用0x2::transfer::share_object功能 | 所有人均可访问 | Wrapped | 通过将struct类型为的字段放入另一个字段来组织数据结构 | 未指定 拥有的对象包括地址所有者,与 UTXO 一致,而共享对象可以明确供所有人访问,这符合账户模型的更广泛访问权限. 我的结论和未来的考虑 从比特币的UTXO到SUI的对象模型的过渡代表着一次重大演变,它提供了灵活性,并通过SharedObject解决了UTXO在复杂逻辑中的局限性,同时通过OwnedObject保留了UTXO的并发优势. 正如《探索 Sui 的以对象为中心的模型和移动编程语言》中所探讨的那样,这种双重方法将 SUI 定位为一个多功能平台,有可能为区块链数据模型设定新的标准.
- Sui
- Architecture
- SDKs and Developer Tools
- Move
0 - 讨论为SuiMar 07, 2025
你能将 SUI 硬币直接转移到 Ledger Stax 吗?
我有兴趣将我的 SUI 硬币存储在 Ledger Stax 上. 我想知道是否有可能将SUI从交易所或SUI钱包直接转移到Ledger Stax. 如果是,我打算进行转账. 有人知道当前对该流程的支持吗?
- Sui
01 - 文章为SuiMar 07, 2025
在 Sui Move 中开发骰子游戏合约
在本教程中,我将指导你完成使用Sui Move创建骰子游戏智能合约的过程. 该合同允许玩家下注掷骰子的结果,由管理员管理奖池. 最后,你将拥有一份功能齐全的合约,并对Sui Move的几个关键概念有扎实的了解. 简介 我们将构建的骰子游戏合约允许以下功能: 初始化:合约创建者设置游戏. 管理员管理:管理员可以将代币存入奖池并根据需要将其提取. 玩家互动:玩家通过猜测掷骰子结果和下注来参与. 本教程假设你对Sui Move有基本的了解,重点是通过实际实现引入新概念. 在深入研究代码之前,让我们探索一下您将遇到的关键概念: 1.1 添加依赖关系: 要使用其他合约(例如水龙头代币合约)中的代币,您需要将其作为依赖项添加到您的项目中. 这是通过更新Move.toml合同文件来完成的: [dependencies] coin_duck = { local = "../coin_duck"”} 在这里,coin_duck 是位于指定路径的水龙头代币合约. 依赖合约还必须使用发布时获得的软件包 ID 在自己的 move.toml 中指定其 published-at 字段,如下所示: 生锈 published-at = "packageId_from_publication" 1.2 使用断言 断言可确保在合同执行期间满足某些条件. assert!宏检查条件,如果失败,则抛出错误并停止执行. 这对于防止无效状态很有用,例如下注超过玩家余额. 1.3 生成随机数 骰子游戏中的公平性依赖于随机数的生成. Sui Mov randome 为此提供了该模块. 您将创建一个RandomGenerator对象并使用它生成 1 到 6 之间的随机数,模拟掷骰子. 1.4 使用硬币和余额 在 Sui Move 中,代币使用硬币和余额模块进行管理: 硬币:余额周围的包装,用于转移代币. 余额:代表实际代币金额,允许进行拆分和合并等操作. 关键方法包括: coin:: value (in_coin):返回硬币对象的总值. coin:: take(&mut 余额,金额,ctx):从余额中提取指定金额以创建硬币. in_coin.balance_mut () .split(金额):从硬币余额中拆分指定金额. balance.join(平衡):将一个余额合并到另一个余额中. 这些操作将用于管理游戏的奖池和玩家投注. 骰子游戏合约 以下是骰子游戏合约的完整代码,随后是详细说明: /// 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(余额)的共享对象. 管理员:管理员拥有的用于初始化(初始化)管理池的关键对象. 初始化(初始化): 创建奖池为空的游戏对象并公开共享. 创建管理员对象并将其传输给合约创建者. 加入游戏池 (addCoinToGamePool) 从管理员的 in_coin 中提取指定金额. 使用 assert!确保硬币有足够的价值. 从 in_coin 的余额中拆分金额并将其合并到游戏的 pool_amount 中. 结果: 获胜:如果猜出与掷骰子相符,则从彩池中提取等于下注的奖励并合并到玩家的in_coin中. 失败:如果不正确,投注将从in_coin中扣除,并通过addCointoGamepool添加到池中.
- Sui
- Move
1 如何将基于SUI的Wormhole转移到交易所?
我正在尝试将基于Sui的Wormhole从我的Sui钱包转移到另一家交易所. 我试图通过Suivision进行交换,但是现在的滑点太高了. 如果不使用 Suivision Swap 流程,是否有任何其他方法可以转换或传输?
- Sui
- Architecture
02- 专家问答为Peera MetaMar 06, 2025
在 Openzeppelin 合约中找不到 Counter.sol
lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2)
- discussion
- expert q&a
02
- 2565
- 1780
- 402
- 397
- 369
- 328
- 283
- 278
- 275
- 271