Peera.

Explore

Connect with communities and discover new ideas.

Sui.X.Peera.

Earn Your Share of 1000 Sui

Gain Reputation Points & Get Rewards for Helping the Sui Community Grow.

Communities

Bounty

  • Xavier.eth.Peera.
    ForSuiJun 27, 2025
    +15

    Sui Transaction Failing: Objects Reserved for Another Transaction

    I'm encountering a persistent JsonRpcError when trying to execute transactions on Sui. The error indicates that objects are reserved for another transaction, even though I've implemented sequential transaction processing with delays. JsonRpcError: Failed to sign transaction by a quorum of validators because one or more of its objects is reserved for another transaction. Other transactions locking these objects: AV7coSQHWg5vN3S47xada6UiZGW54xxUNhRv1QUPqWK (stake 33.83) 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 I've tried: Sequential transaction execution (waiting for previous transaction to complete) Added 3-second delays between transactions And still getting the same error consistently. Using Sui RPC for transaction submission. The same object ID appears multiple times in the lock list. Error occurs even with careful transaction sequencing. What causes objects to be "reserved" for other transactions? How can I properly check if an object is available before using it in a transaction? Are there best practices for handling object locks in Sui? Could this be related to transaction finality timing? Has anyone encountered this issue before? Any insights on proper object management in Sui transactions would be greatly appreciated!

    2
    5
  • Xavier.eth.Peera.
    ForSuiJun 17, 2025
    +15

    How do ability constraints interact with dynamic fields in heterogeneous collections?

    I'm building a marketplace that needs to handle multiple asset types with different ability requirements, and I've hit some fundamental questions about Move's type system. I want to store different asset types in the same collection, but they have different abilities: Regular NFTs: key + store (transferable) Soulbound tokens: key only (non-transferable) Custom assets with transfer restrictions public struct Marketplace has key { id: UID, listings: Bag, // Want to store different asset types here } // This works for transferable assets public fun list_transferable( marketplace: &mut Marketplace, asset: T, price: u64 ) { /* ... */ } // But how to handle soulbound assets? public fun list_soulbound( // No store ability marketplace: &mut Marketplace, asset_ref: &T, // Can only take reference price: u64 ) { /* How do I store metadata about this? */ } Key Questions: Ability Requirements: When using dynamic_field::add(), does V always need store at compile time? Can wrapper types work around this? Heterogeneous Storage: Can a single Bag store objects with different ability sets (key + store + copy vs key + store), and handle them differently at runtime? Type Safety: Since dynamic fields perform type erasure, how do I maintain type safety when retrieving values? What's the pattern for storing type metadata? Witness Pattern: How do ability constraints work with phantom types? Can I store Asset and Asset in the same collection and extract type info later? Building a system where NFTs, soulbound tokens, and restricted assets all need marketplace functionality but with different transfer semantics. I’ve tried wrapper types, multiple collections per ability set, separate type metadata storage. Each has tradeoffs between type safety, gas costs, and complexity.

    0
    5
  • Peera Admin.Peera.
    ForSuiMay 29, 2025
    +10

    Why does BCS require exact field order for deserialization when Move structs have named fields?

    Why does BCS require exact field order for deserialization when Move structs have named fields? I've been diving deep into BCS encoding/decoding in Move, particularly for cross-chain communication and off-chain data processing. While working through the examples in the Sui Move documentation, I encountered some behavior that seems counterintuitive and I'm trying to understand the underlying design decisions. According to the BCS specification, "there are no structs in BCS (since there are no types); the struct simply defines the order in which fields are serialized." This means when deserializing, we must use peel_* functions in the exact same order as the struct field definition. My Specific Questions: Design Rationale: Why does BCS require exact field order matching when Move structs have named fields? Wouldn't it be more robust to serialize field names alongside values, similar to JSON or other self-describing formats? Generic Type Interaction: The docs mention that "types containing generic type fields can be parsed up to the first generic type field." Consider this structure: struct ComplexObject has drop, copy { id: ID, owner: address, metadata: Metadata, generic_data: T, more_metadata: String, another_generic: U } How exactly does partial deserialization work here? Can I deserialize up to more_metadata and ignore both generic fields, or does the first generic field (generic_data) completely block further deserialization? Cross-Language Consistency: When using the @mysten/bcs JavaScript library to serialize data that will be consumed by Move contracts, what happens if: I accidentally reorder fields in the JavaScript object? The Move struct definition changes field order in a contract upgrade? I have nested structs with their own generic parameters? Practical Implications: In production systems, how do teams handle BCS schema evolution? Do you version your BCS schemas, or is the expectation that struct field order is immutable once deployed?

    5
    3

Newest

  • frogit.Peera.
    ForSuiAug 11, 2025

    why Non-Refundable Storage Fee is not 1% of Storage Rebate

    I'm just wondering why Non-Refundable Storage Fee is not 1% of Storage Rebate: │ Gas Info │ │ ├────────────────────────────┼──────────┤ │ Computation Cost │ 1000000 │ │ Storage Cost │ 11187200 │ │ Storage Rebate │ 13031568 │ │ Non-Refundable Storage Fee │ 131632 │ │ Gas Used │ 947 │ │ Gas Budget │ 3089992 │ │ Gas Price │ 1000 │ │ Reference Gas Price │ 1000 │ │ Storage Gas Price │ 76 │ │ Rebate Rate │ 9900 │ ╰────────────────────────────┴──────────╯ `

    0
    1
  • CarlkawIy.Peera.
    ForSuiAug 10, 2025

    USDC Bridge through Wormhole stuck? Here's a quick fix

    I tried bridging USDC using Wormhole, but it's been 30 minutes and the transaction is still pending. What should I do?

    0
    1
  • Aliabee.Peera.
    ForSuiAug 08, 2025

    How to reclaim a sent SUI link back to your wallet?

    I've sent a SUI link from my wallet and now I want to reclaim the SUI back. How can I do this?

    0
    1

Unanswered

  • theking.Peera.
    ForSuiJul 25, 2025

    What’s the Object Display Standard on Sui?

    The Object Display Standard (https://docs.sui.io/standards/object-display) defines how Sui objects (e.g., NFTs) are displayed with metadata like name, description, and image URLs. It’s used for consistent rendering in wallets and marketplaces. Implement it in your Move contract by adding a Display struct with fields like name and image_url. See the Sui NFT examples for code (https://github.com/MystenLabs/sui).

    2
    0
  • BitcoinADUK.Peera.
    ForThe GraphMar 14, 2025

    GRT Token - what are your thoughts?

    The Graph (GRT) is a decentralized protocol designed to index and query data from blockchains, starting with Ethereum. It enables developers to build and publish open APIs, known as subgraphs, that make blockchain data easily accessible for decentralized applications (dApps). The native token, GRT, is utilized within the network by participants such as Indexers, Curators, and Delegators to ensure the economic security and integrity of the data being queried. As of March 14, 2025, GRT is trading at approximately $0.094, with a 24-hour trading volume of around $36 million. This current price reflects a significant decline from its all-time high of $2.84, indicating a downward trend over the past few years. The price trajectory of GRT has been influenced by various factors, including technological advancements, regulatory developments, and broader macroeconomic indicators. These elements have collectively contributed to the observed decrease in value over time. Please note that cryptocurrency markets are highly volatile, and past performance does not guarantee future results. It's essential to conduct thorough research and consider your financial situation before making any investment decisions.

    0
    0
  • Fractal Visions MVP Launch

    Fractal Visions, a decentralized marketplace platform built on the superchain concept, has officially launched its new marketplace, positioning itself as a pivotal player in the blockchain ecosystem. This innovative marketplace leverages the power of the superchain—a scalable and interoperable blockchain network—to offer a seamless user experience for creators, collectors, and traders of digital assets. Here are some key highlights of the Fractal Visions marketplace: 1. Superchain Integration Fractal Visions has integrated the superchain infrastructure to ensure high scalability, low transaction costs, and fast settlement times. By tapping into this architecture, Fractal Visions can offer cross-chain interoperability, allowing users to transact seamlessly across different blockchain ecosystems. This is a significant advantage over traditional, isolated blockchain networks, providing users with more flexibility and access to a wider range of digital assets. 2. Decentralized Marketplace The Fractal Visions platform operates in a fully decentralized manner, empowering users to retain full control over their digital assets. Artists, creators, and collectors can freely trade and showcase NFTs and other digital items without the interference of centralized entities. This decentralized nature enhances transparency, reduces the risk of censorship, and provides a trustless environment for users. 3. User-Centric Features The marketplace is designed with the user experience in mind. It offers a simple, intuitive interface for easy browsing, buying, and selling of NFTs and other digital assets. Fractal Visions includes advanced search features, personalized recommendations, and an advanced bidding system for auction-style sales. 4. Multichain Support Fractal Visions supports multiple blockchains, allowing users to connect their wallets across various networks. This includes support for Optimism, Base, Mode, and other leading layer 2 networks. The multichain approach ensures that users can access a wide range of assets and interact with a large, global audience. 5. Focus on Creators Fractal Visions offers unique opportunities for creators to monetize their work. By providing creators with complete ownership of their assets and offering flexible revenue-sharing models, the platform ensures that artists and developers can thrive within a decentralized ecosystem. Additionally, creators can set up royalty structures, allowing them to earn income from secondary sales of their work. 6. Innovative Features The marketplace incorporates cutting-edge technology, such as AI-driven content recommendations and enhanced security features, ensuring that the platform remains at the forefront of blockchain-based marketplaces. Additionally, Fractal Visions is working on integrating VR (Virtual Reality) and AR (Augmented Reality) features to allow users to experience digital assets in immersive environments. 7. Community Engagement Fractal Visions is committed to building a strong community around its platform. The marketplace supports community-driven governance, allowing users to participate in decision-making processes and contribute to the evolution of the platform. Whether through voting on proposals or engaging in social interactions, users are at the heart of the ecosystem. 8. Sustainability and Eco-Friendliness As part of its commitment to sustainability, Fractal Visions is optimizing its network for energy efficiency, ensuring that the platform operates with a minimal environmental footprint. This aligns with the broader trend of eco-consciousness within the blockchain industry. Fractal Visions’ new marketplace launch marks a significant step forward in the evolution of decentralized, superchain-based platforms. By combining the power of interoperability, decentralization, and user-centric design, Fractal Visions is set to reshape how digital assets are created, traded, and experienced. The marketplace’s seamless integration with multiple blockchains, along with its focus on empowering creators and fostering community engagement, positions it as a major contender in the rapidly growing digital asset ecosystem.

    0
    0

Trending

  • Vens.sui.Peera.
    ForSuiApr 29, 2025

    AMM Bot in Sui Ecosystem

    What are the key features and functionalities of AMM bots within the Sui ecosystem? How do they improve upon traditional trading mechanisms, and what advantages do they offer to users engaging with DeFi protocols on the Sui network? Do I need to build one or I can use Turbos Finance for example

    9
    3
  • 0xduckmove.Peera.
    ForSuiApr 08, 2025

    👀 SEAL- I Think Web3 Data Privacy Is About to Change

    👀SEAL is Live on Sui Testnet – I Think Web3 Data Privacy Is About to Change In the Web3, it’s common to hear phrases like “users own their data” or “decentralized by design”. But when you look closely, many applications still rely on centralized infrastructures to handle sensitive data — using services like AWS or Google Cloud for key management. This introduces a contradiction: decentralization on the surface, centralization underneath. But what if there was a way to manage secrets securely, without giving up decentralization?Introducing SEAL – Decentralized Secrets Management (DSM), now live on the Sui Testnet. SEAL aims to fix one of Web3’s biggest hypocrisies: shouting decentralization while secretly using AWS You maybe ask me: What is SEAL? SEAL is a protocol that lets you manage sensitive data securely and decentrally – built specifically for the Web3 world. Think of it as a privacy-first access control layer that plugs into your dApp. You can think of SEAL as a kind of programmable lock for your data. You don’t just lock and unlock things manually — you write policies directly into your smart contracts, using Move on Sui. Let’s say you’re building a dApp where: Only NFT holders can unlock a premium tutorial Or maybe a DAO has to vote before sensitive files are revealed Or you want metadata to be time-locked and only accessible after a specific date SEAL makes all of that possible. The access control lives onchain, fully automated, no need for an admin to manage it. Just logic, baked right into the blockchain. SEAL makes all of that possible. The access control lives onchain, fully automated, no need for an admin to manage it. Just logic, baked right into the blockchain. Another interesting piece is how SEAL handles encryption. It uses something called threshold encryption, which means: no single node can decrypt the data. It takes a group of servers to work together — kinda like multi-sig, but for unlocking secrets. This distributes trust and avoids the usual single-point-of-failure problem. And to keep things truly private, SEAL encrypts and decrypts everything on the client side. Your data is never visible to any backend. It stays in your hands — literally — on your device. and SEAL doesn’t care where you store your data. Whether it’s IPFS, Arweave, Walrus, or some other platform, SEAL doesn’t try to control that part. It just focuses on who’s allowed to see what, not where things are stored. So yeah, it’s not just a library or API — it’s an onchain-first, access-controlled, privacy-by-default layer for your dApp. SEAL fills a pretty critical gap. Let’s break that down a bit more. If you’re building a dApp that deals with any form of sensitive data — gated content, user documents, encrypted messages, even time-locked NFT metadata — you’ll run into the same problem: ➡️ How do you manage access securely, without relying on a centralized service? Without something like SEAL, most teams either: Use centralized tools like AWS KMS or Firebase, which clearly goes against decentralization Or try to patch together half-baked encryption logic themselves, which usually ends up brittle and hard to audit https://x.com/EmanAbio/status/1908240279720841425?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1908240279720841425%7Ctwgr%5E697f93dc65359d0c8c7d64ddede66c0c4adeadf1%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.notion.so%2Fharryph%2FSEAL-Launches-on-Sui-Testnet-1cc4f8e09bb380969c0dcc627b96cc22 Neither of those scales well. Especially not when you’re trying to build trustless apps across multiple chains or communities. SEAL makes that entire process modular and programmable. You define your access rules in Move smart contracts, and SEAL handles the rest — key generation, decryption approvals, and access enforcement — all without anyone manually issuing keys or running backend checks. Even better, those rules are auditable and immutable — once they’re onchain, they follow the contract, not a human admin. So instead of asking “who should manage access to this data?” you just ask: “What logic should define access?” …and let the chain handle it. Clean and scalable. That’s what makes SEAL relevant for more than just “security tools” — it’s a base layer for any dApp that cares about privacy, compliance, or dynamic access logic. It’s a small shift — but it changes a lot about how we think of data in Web3. Instead of encrypting after deployment, or relying on external services, you start with privacy built-in — and access handled entirely by smart contract logic. And that’s exactly what Web3 needs right now. How Does SEAL Actually Work? We’ve covered what SEAL is and why Web3 needs it, let’s take a look at how it’s actually built under the hood. This part is where things get more technical — but in a good way. The architecture is elegant once you see how all the pieces fit together. At a high level, SEAL works by combining onchain access logic with offchain key management, using a technique called Identity-Based Encryption (IBE). This allows devs to encrypt data to an identity, and then rely on smart contracts to define who is allowed to decrypt it. Step 1: Access Rules in Smart Contracts (on Sui) Everything starts with the smart contract. When you’re using SEAL, you define a function called seal_approve in your Move contract — this is where you write your conditions for decryption. For example, here’s a simple time-lock rule written in Move: entry fun seal_approve(id: vector, c: &clock::Clock) { let mut prepared: BCS = bcs::new(id); let t = prepared.peel_u64(); let leftovers = prepared.into_remainder_bytes(); assert!((leftovers.length() == 0) && (c.timestamp_ms() >= t), ENoAccess); } Once deployed, this contract acts as the gatekeeper. Whenever someone wants to decrypt data, their request will get checked against this logic. If it passes, the key gets released. If not, they’re blocked. No one has to intervene. Step 2: Identity-Based Encryption (IBE) Here’s where the magic happens. Instead of encrypting data for a specific wallet address (like with PGP or RSA), SEAL uses identity strings — meaning you encrypt to something like: 0xwalletaddress dao_voted:proposal_xyz PkgId_2025_05_01 (a timestamp-based rule) or even game_user_nft_holder When the data is encrypted, it looks like this: Encrypt(mpk, identity, message) mpk = master public key (known to everyone) identity = the logic-defined recipient message = the actual data Later, if someone wants to decrypt, the key server checks if they match the policy (via the seal_approve call onchain). If it’s approved, it returns a derived private key for that identity. Derive(msk, identity) → sk Decrypt(sk, encrypted_data) The user can then decrypt the content locally. So encryption is done without needing to know who will decrypt ahead of time. You just define the conditions, and SEAL figures out the rest later. It’s dynamic. Step 3: The Key Server – Offchain, But Not Centralized You might wonder: who’s holding these master keys? This is where SEAL’s Key Server comes in. Think of it as a backend that: Holds the master secret key (msk) Watches onchain contracts (like your seal_approve logic) Only issues derived keys if the conditions are satisfied But — and this is key — SEAL doesn’t rely on just one key server. You can run it in threshold mode, where multiple independent servers need to agree before a decryption key is issued. For example: 3-of-5 key servers must approve the request. This avoids central points of failure and allows decentralization at the key management layer too. Even better, in the future SEAL will support MPC (multi-party computation) and enclave-based setups (like TEE) — so you can get even stronger guarantees without compromising usability. Step 4: Client-Side Decryption Once the key is returned to the user, the actual decryption happens on their device. This means: The server never sees your data The backend never stores decrypted content Only the user can access the final message It’s a solid privacy model. Even if someone compromises the storage layer (IPFS, Arweave, etc.), they still can’t read the data without passing the access logic. Here’s the quick mental model: This structure makes it easy to build dApps where access rules aren’t hardcoded — they’re dynamic, auditable, and fully integrated into your chain logic. The Team Behind SEAL SEAL is led by Samczsun, a well-known figure in the blockchain security community. Formerly a Research Partner at Paradigm, he has audited and saved multiple ecosystems from major exploits. Now, he’s focused full-time on building SEAL into a core piece of Web3’s privacy infrastructure. With his background and credibility, SEAL is not just another experimental tool — it’s a serious attempt at making decentralized data privacy both practical and scalable. As SEAL goes live on the Sui Testnet, it brings a new standard for how Web3 applications can manage secrets. By combining onchain access control, threshold encryption, and client-side privacy, SEAL offers a more trustworthy foundation for decentralized data handling. Whether you’re building dApps, DAOs, or decentralized games — SEAL provides a powerful toolkit to enforce access control and protect user data without compromising on decentralization. If Web3 is going to move forward, secure infrastructure like SEAL is not optional — it’s essential

    8
  • BigSneh.Peera.
    ForSuiJul 30, 2025

    How do I merge two coin object in Move?

    I'm trying to understand this aspect of the Sui Network because I'm either building, debugging, or deploying something that touches this area. I want a detailed explanation of how this mechanism or feature works, along with relevant CLI usage, Move code structure, or architectural concepts. My goal is to gain enough clarity to apply this knowledge in a real project—whether that's a custom smart contract, an NFT system, a wallet integration, or a DeFi tool. The Sui Network has unique features compared to EVM chains, so I'm particularly interested in what sets it apart and how that affects development best practices. It would help to have sample code, command line examples, or typical errors to watch for, especially when using the Sui CLI, SDK, or deploying on localnet/testnet. Ultimately, I want to avoid common mistakes, follow the best security principles, and ensure that the functionality I’m working on behaves as expected under realistic conditions.

    7
    13