Neueste
Bleibe auf dem Laufenden mit den neuesten Beiträgen.
Beiträge
1829Was ist eine native Funktion und können wir sie direkt aufrufen?
Ich bin in Move auf den Begriff „native Funktion“ gestoßen, kann aber keine detaillierten Informationen dazu finden. Ich habe gehört, dass sie in Move deklariert, aber extern definiert sind, oft in Rust. Bedeutet das, dass es sich um interne Funktionen handelt, die nicht direkt von Wallets oder anderen Modulen aufgerufen werden können?
- Move CLI
- Move
01- Experten Q&AFürMoveApr 10, 2025
Wie übertrage ich ein Objekt, das einem anderen Objekt gehört?
Ich habe ein Problem mit der Übertragung eines Objekts A, das Objekt B gehört, und Objekt B gehört mir. Ich erhalte eine Fehlermeldung, die besagt, dass die Transaktion nicht vom richtigen Absender signiert wurde. Weiß jemand, wie man das löst und Objekt A richtig empfängt?
- Move CLI
- Move
01 Warum sperrt die Wallet meines Handelsbots bis zur nächsten Epoche?
Ich hatte ein Problem, bei dem meine Trading-Wallet, die einen Bot verwendet, oft die Fehlermeldung „Die Transaktion konnte nicht von einem Quorum von Validatoren signiert werden...“ erhält Dies führt dazu, dass die Wallet bis zur nächsten Epoche gesperrt wird, manchmal für Stunden. Es erscheint insbesondere nach einem RPC-Timeout während einer Transaktion. Warum passiert das und wie kann es behoben werden, um so lange Sperren zu vermeiden?
- Sui
00How 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
02How 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
00Wie integriere ich die Polygon Portal Bridge, um USDT zu übertragen?
Ich arbeite derzeit an einem Projekt, bei dem ich die Polygon Portal-Bridge in eine Brieftasche integrieren muss, um die Übertragung von USDT zu erleichtern. Gibt es Unterlagen oder Ressourcen, die mir helfen können zu verstehen, wie diese Bridge funktioniert?
- Polygon PoS
02- Experten Q&APluto Dev👽141FürMoveApr 10, 2025
Umwandlung eines öffentlichen Schlüssels in eine Sui-Adresse in Sui Move
Ich versuche, einen öffentlichen Schlüssel mit Sui Move in eine Sui-Adresse umzuwandeln, kann aber keine eingebaute Funktion finden. Ich verstehe, dass es für meine Arbeit sehr wichtig ist. Könnte jemand erklären, wie genau diese Konvertierung durchgeführt wird?
- Move CLI
01 - DiskussionXavier.eth296FürSuiApr 10, 2025
Wie übertrage ich SUI von der Standard-Wallet auf die Ledger-Wallet?
Ich habe mein Ledger mit einer neu erstellten SUI-Wallet verbunden, und das hat gut geklappt. Jetzt möchte ich meine SUI von meiner SUI-Wallet „Standard“ auf meine SUI-Wallet „Ledger“ übertragen. Gibt es eine Abkürzung oder muss ich die SUI von einer Adresse zur anderen senden, wie beim Senden von Tokens an Börsen? Ich möchte sicherstellen, dass dieser Prozess sicher ist.
- Transaction Processing
01 Unterstützt Sui die Selbstzerstörung von Verträgen?
Ich habe mich gefragt, ob es innerhalb des Sui-Frameworks eine Möglichkeit gibt, einen intelligenten Vertrag zu zerstören oder sich selbst zu zerstören. Ich habe etwas über einen Selbstzerstörungsmechanismus gehört und wollte wissen, ob er in Sui existiert. Und was würde passieren, wenn ein Vertrag auf diese Weise gekündigt wird?
- Move
- Smart Contract
01- ArtikelFürSuiApr 10, 2025
Aufbau einer NFT-Lotterie-dApp der nächsten Generation mit Sui Move und einer modernen Benutzeroberfläche
🧩 Erstellen einer NFT-Lotterie-dApp der nächsten Generation mit Sui Move und einer modernen Benutzeroberfläche Dies ist dein ultimativer Leitfaden zum Erstellen einer spielerischen, NFT-betriebenen Lotterie-DApp mitSui Move, mit Mehrrundenunterstützung, Empfehlungssystemen, DAO-Governance und einem Designsystem, das die Generation Z lieben wird. Von der Vertragsarchitektur bis zum UI-Flow — lassen Sie uns alles einbeziehen. 📦 Phasenzusammenbruch Phase 1 — Kernlotterie Mehrrunden-Gameplay NFT-Ticketing Prämiensystem für Empfehlungen Grundlegende DAO-Abstimmung Phase 2 — Marktplatz und Gamification Integration des NFT-Marktplatzes Booster (erhöhen Sie die Gewinnchance) Jackpot-System Versteckte Airdrops Phase 3 — DAO und Multichain Kettenübergreifende Kompatibilität DAO mit fortgeschrittenen Vorschlägen Dynamische Preisgestaltung On-Chain-Analysen 🧠 Smart Contract — Ein tiefer Einblick in Sui Move Vertragsstruktur 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 } } Wichtige Erkenntnisse: ✅ Balancesorgt für Typsicherheit und den ordnungsgemäßen Umgang mit Münzen ✅ Optionsignalisiert deutlich, ob ein Gewinner ausgewählt wurde ✅ Ereignisse bieten Rückverfolgbarkeit für Frontends und Entdecker 🛠 Sui CLI-Befehle sui client call --package --module nft_lottery_x --function create_game --args --gas-budget 10000000 Folgen Sie ähnlichen CLI-Abläufen, um ein Ticket zu kaufen, den Gewinner zu ermitteln oder eine Prämie in Anspruch zu nehmen. 🔮 Zukünftige Ergänzungen Automatisches Zurücksetzen der Logik für die nächste Runde in claim_reward Sendet mehr Ereignisse aus wie ReferralRewardDistributed Umwandeln von Jackpots und Empfehlungen in Submodule Lass mich wissen, ob du Teil 2 zum Erstellen der Benutzeroberfläche und zur Integration im Sui-Testnet haben möchtest!
- Sui
3