Peera.

最新的

随时了解最新帖子。

帖子

1829
过滤:所有社区
  • skywinder.Peera.
    MoveApr 10, 2025
    专家问答

    什么是原生函数,我们可以直接调用它们吗?

    我在 Move 中遇到过 “原生函数” 一词,但找不到有关它的详细信息. 我听说它们是在 Move 中声明的,但是在外部定义的,通常是在 Rust 中. 这是否意味着它们是钱包或其他模块无法直接调用的内部函数?

    • Move CLI
    • Move
    0
    1
  • kryptoschain.Peera.
    MoveApr 10, 2025
    专家问答

    如何转移另一个对象拥有的对象?

    我在转移对象 A 时遇到了问题,该对象归对象 B 所有,对象 B 归我所有. 我收到一条错误消息,说交易没有由正确的发件人签署. 有人知道如何解决这个问题并正确接收对象 A 吗?

    • Move CLI
    • Move
    0
    1
  • Michelle .Peera.
    SuiApr 10, 2025
    专家问答

    为什么我的交易机器人的钱包会锁定到下一个时代?

    我遇到了一个问题,我的交易钱包使用机器人,经常收到一条错误消息,说 “未能通过法定数量的验证者签署交易...”这会导致钱包被锁定到下一个时代,有时会锁定数小时. 它尤其是在事务期间 RPC 超时后出现. 为什么会发生这种情况,如何修复它以避免这么长的锁?

    • Sui
    0
    0
  • McMMoKing.Peera.
    WalrusApr 10, 2025
    专家问答

    How to upload large files to Walrus without speed issues?

    I'm trying to use Walrus for uploading files via API and I'm running into issues when trying to upload a 300MB file. While it works with the CLI, the upload speed is slow. Is there a file upload limit with Walrus, and how can I improve upload speeds for larger files?

    • Walrus
    • Typescript SDK
    0
    2
  • DuAn.Peera.
    WalrusApr 10, 2025
    讨论

    How does Walrus compare to AO and others?

    I'm trying to understand the difference between Walrus and AO. From a functional perspective, how do they compare, especially considering their relationship with Sui and Arweave? Also, how does this comparison extend to Sui and Arweave specifically?

    • Walrus
    0
    0
  • AFL.Peera.
    AFL153
    PolygonApr 10, 2025
    讨论

    如何整合 Polygon Portal 桥接来转移 USDT?

    我目前正在做一个项目,我需要将Polygon Portal桥集成到钱包中,以促进USDT的转移. 是否有任何文档或资源可以帮助我了解这座桥的工作原理?

    • Polygon PoS
    0
    2
  • Pluto Dev👽.Peera.
    MoveApr 10, 2025
    专家问答

    在 Sui Move 中将公钥转换为 Sui 地址

    我正在尝试使用 Sui Move 将公钥转换为 Sui 地址,但找不到任何内置函数. 我知道这对我的工作非常重要. 有人能解释一下究竟如何进行这种转换吗?

    • Move CLI
    0
    1
  • Xavier.eth.Peera.
    SuiApr 10, 2025
    讨论

    如何将SUI从标准钱包转移到Ledger钱包?

    我已经将我的 Ledger 连接到一个新创建的 SUI 钱包,效果很好. 现在,我想将我的SUI从我的 “标准” SUI钱包转移到我的 “Ledger” SUI钱包中. 有没有捷径,还是我必须将SUI从一个地址发送到另一个地址,比如向交易所发送代币?我想确保这个过程是安全的.

    • Transaction Processing
    0
    1
  • 1 Luca.Peera.
    MoveApr 10, 2025
    讨论

    Sui 支持合同自我毁灭吗?

    我想知道是否有办法在Sui框架内销毁或自毁智能合约. 我听说过一些关于 “自毁” 机制的消息,想知道它是否存在于 Sui 中. 另外,如果以这种方式终止合同,会发生什么?

    • Move
    • Smart Contract
    0
    1
  • article banner.
    harry phan.Peera.
    SuiApr 10, 2025
    文章

    使用 Sui Move 和现代用户界面构建下一代 NFT 彩票 dApp

    🧩 使用 Sui Move 和现代用户界面构建下一代 NFT 彩票 dApp 这是你使用Sui Move构建游戏化、基于NFT的彩票DApp的终极指南,它具有多轮支持、推荐系统、DAO治理和Z世代会喜欢的设计系统. 从合约架构到用户界面流程——让我们全力以赴. 📦 阶段分解 第一阶段 — 核心彩票 -多回合游戏 -NFT 票务 -推荐奖励系统 -基本的 DAO 投票 第 2 阶段 — 市场和游戏化 -NFT 市场整合 -助推器(增加获胜机会) -大奖系统 -隐藏的空投 第 3 阶段 — DAO 和多链 -跨链兼容性 -带有高级提案的 DAO -动态定价 -链上分析 🧠 关于 Sui Move 的智能合约深度研究 合约结构 module nft_lottery_x::nft_lottery_x { use sui::object; use sui::balance::{Balance, zero}; use sui::coin::{Self, Coin}; use sui::clock::Clock; use sui::random::Random; use sui::event::emit; use sui::transfer; use sui::tx_context::TxContext; use std::option; use std::signer; const EGameNotStarted: u64 = 1000; const EGameAlreadyFinished: u64 = 1001; const EInvalidPayment: u64 = 1002; const ENoTickets: u64 = 1003; const EWinnerAlreadyChosen: u64 = 1004; const ENotWinner: u64 = 1005; public struct Game has key { id: UID, ticket_price: u64, start_time: u64, end_time: u64, total_tickets: u32, round: u32, winner: Option, balance: Balance, referral_bonus: u64, } public struct Ticket has key { id: UID, game_id: ID, ticket_number: u32, buyer: address, referrer: Option, } public struct GameCreated has copy, drop { game_id: ID, start_time: u64, end_time: u64, ticket_price: u64, } public struct TicketBought has copy, drop { game_id: ID, ticket_number: u32, buyer: address, referrer: Option, } public struct WinnerAnnounced has copy, drop { game_id: ID, winner_ticket: u32, round: u32, } public struct RewardClaimed has copy, drop { game_id: ID, ticket_number: u32, amount: u64, } public fun create_game( start_time: u64, end_time: u64, ticket_price: u64, referral_bonus: u64, ctx: &mut TxContext ) { let game = Game { id: object::new(ctx), ticket_price, start_time, end_time, total_tickets: 0, round: 1, winner: option::none(), balance: zero(), referral_bonus, }; emit(GameCreated { game_id: object::id(&game), start_time, end_time, ticket_price, }); transfer::share_object(game); } public fun buy_ticket( game: &mut Game, coin: Coin, clock: &Clock, referrer: Option, ctx: &mut TxContext ): Ticket { assert!(clock.timestamp_ms() >= game.start_time, EGameNotStarted); assert!(clock.timestamp_ms() (TicketBought { game_id: object::id(game), ticket_number: ticket.ticket_number, buyer: ticket.buyer, referrer: ticket.referrer, }); ticket } public entry fun determine_winner( game: &mut Game, rand: &Random, clock: &Clock, ctx: &mut TxContext ) { assert!(clock.timestamp_ms() >= game.end_time, EGameNotStarted); assert!(game.winner.is_none(), EWinnerAlreadyChosen); assert!(game.total_tickets > 0, ENoTickets); let mut generator = rand.new_generator(ctx); let winning_ticket = generator.generate_u32_in_range(1, game.total_tickets); game.winner = option::some(winning_ticket); emit(WinnerAnnounced { game_id: object::id(game), winner_ticket: winning_ticket, round: game.round, }); } public fun claim_reward( ticket: Ticket, game: Game, ctx: &mut TxContext ): Coin { assert!(object::id(&game) == ticket.game_id, EInvalidPayment); let ticket_num = ticket.ticket_number; assert!(game.winner.contains(&ticket_num), ENotWinner); let amount = game.balance.value(); let reward = game.balance.into_coin(ctx); emit(RewardClaimed { game_id: object::id(&game), ticket_number: ticket.ticket_number, amount, }); object::delete(object::id(&game)); reward } } 关键要点: -✅ Balance确保类型安全和正确处理硬币 -✅ Option清楚地表明是否选中了赢家 -✅ 事件为前端和探索者提供可追溯性 🛠 Sui CLI 命令 sui client call --package --module nft_lottery_x --function create_game --args --gas-budget 10000000 要购买彩票、确定赢家或领取奖励,请遵循类似的 CLI 流程. 🔮 未来新增内容 -下一回合的自动重置逻辑 claim_reward -发出更多事件,比如 ReferralRewardDistributed -将累积奖金和推荐重构为子模块 如果你想在第 2 部分中构建 UI 并集成到 Sui 测试网上,请告诉我!

    • Sui
    3
我们使用 cookie 确保您在我们的网站上获得最佳体验。
更多信息