Peera.

Newest

Stay updated with the latest posts.

Posts

1918
  • Pluto Dev👽.Peera.
    ForWalrusMay 01, 2025
    Discussion

    Where else can I get SUI from a faucet?

    I've been using a SUI faucet for some transactions, but I'm looking for alternative options to receive SUI tokens. Are there other faucets or methods I can try?

    • Walrus
    0
    2
  • McMMoKing.Peera.
    ForSuiMay 01, 2025
    Expert Q&A

    How to fix Sui wallet and Ledger connection issues?

    I'm having trouble with my Sui wallet on Brave browser, protected by my Ledger device. When I try to send funds to an exchange, it prompts me to connect the Ledger, but it claims it's disconnected. How can I resolve this issue? And do I need the seed recovery phrase to reconnect my Ledger?

    • Sui
    • Architecture
    0
    2
  • elfDani.Peera.
    ForWalrusMay 01, 2025
    Discussion

    Is my file private when uploaded to Walrus?

    I'm thinking of using Walrus for storing some files. My main concern is whether my files are private by default when I upload them. I don't really want my personal or sensitive data out in the open for everyone to see. Can someone let me know if there's a way to keep my files private, or should I be looking into alternatives?

    • Walrus
    • Typescript SDK
    0
    2
  • Xavier.eth.Peera.
    ForWalrusMay 01, 2025
    Discussion

    Where can I find Walrus developer documentation?

    I'm getting started with Walrus, a decentralized storage protocol, and I need to find the developer documentation so I can start building applications. Can anyone point me to the right place?

    • Walrus
    • Typescript SDK
    0
    1
  • 0xduckmove.Peera.
    ForSuiMay 01, 2025
    Expert Q&A

    Where can I find docs for native staking through TypeScript SDK?

    Directly to a validator or through a pool - at least something

    • Sui
    0
    1
  • article banner.
    HaGiang.Peera.
    ForSuiMay 01, 2025
    Article

    Inside Sui’s Kiosk: How to Build Secure NFT Marketplaces

    What is Sui’s Kiosk? Kiosk is a native smart contract module on the Sui blockchain, designed to standardize and simplify the way NFTs are stored, managed, and traded. It acts as a programmable NFT storefront—ideal for devs who want to avoid reinventing the wheel for every NFT-related project. Whether you’re building a marketplace, a game asset exchange, or a digital collectibles gallery, Kiosk offers you secure, customizable building blocks. ⸻ 🛠️ Key Features of Kiosk 📦 NFT Storage & Display: Users can deposit NFTs into Kiosk smart contracts to store, show off, or trade them 🔐 Secure Ownership Transfer: All buy/sell flows are standardized and verifiable—goodbye shady swaps 👋 🎛️ Fine-grained Permissions: Kiosk lets devs define exactly who can do what with each NFT. 📈 Developer Extensibility: Plug in auctions, batch listings, bundles, and more. ⸻ 🤔 Why Build with Kiosk? Imagine you’re launching an NFT app. You’ll likely need a way for users to store assets safely. A way to list and buy assets. Kiosk handles all that for you. Instead of writing all these flows from scratch (and risking bugs 🐛 or exploits), you use Kiosk’s battle-tested API. ⸻ 🧪 Example App: Building with Kiosk Let’s get into a real example. You’ll create a basic NFT module, then use the Kiosk module to deposit it, list it, and allow others to purchase it. Step-by-Step Code Breakdown module 0xNFT::simple_nft { use sui::object::{UID}; use sui::tx_context::TxContext; struct SimpleNFT has key { id: UID, name: String, description: String, url: String, } public entry fun mint( name: String, description: String, url: String, ctx: &mut TxContext ): SimpleNFT { SimpleNFT { id: UID::new(ctx), name, description, url, } } } Commands (Sui CLI) Compile your package sui move build Deploy to network sui client publish --gas-budget 10000 Mint NFT sui client call --function mint --module simple_nft \ --args "My NFT" "Desc" "https://example.com/img.png" --gas-budget 1000 Initialize Kiosk sui client call --function init_kiosk --module kiosk_example --gas-budget 1000 Deposit NFT to Kiosk sui client call --function deposit_nft --module kiosk_example \ --args --gas-budget 1000 List for sale sui client call --function list_nft_for_sale --module kiosk_example \ --args 100 --gas-budget 1000 Purchase NFT sui client call --function purchase_nft --module kiosk_example \ --args --gas-budget 1000 Kiosk is one of the most powerful primitives in the Sui ecosystem for NFT developers. It abstracts away repetitive logic and injects security and modularity into your app stack. With just a few lines of code, you’re building full NFT marketplace flows that are production-ready and battle-tested.

    • Sui
    2
  • deriss.Peera.
    ForSuiApr 30, 2025
    Expert Q&A

    Trouble connecting Ledger to Sui Wallet on Brave browser

    Hey, I'm having trouble with my Sui wallet on my Brave browser. When I try to transfer some funds to swap on an exchange, it asks me to connect my Ledger and confirm. Even though I've done that, it keeps saying it's not connected. I've updated everything, but I still can't access my funds. How do I fix this connectivity issue?

    • Sui
    0
    1
  • article banner.
    MiniBob.Peera.
    ForSuiApr 30, 2025
    Article

    Move Programming Language - The Story Behind

    In the ever-evolving landscape of blockchain technology, smart contract programming languages have become the backbone of decentralized applications (dApps). Among these, Move has emerged as a groundbreaking innovation, offering unique features that set it apart from traditional languages like Solidity or Vyper. Designed with security and scalability in mind, Move was created to address many of the vulnerabilities and inefficiencies inherent in earlier blockchain ecosystems. This article delves into the origins, features, and impact of the Move programming language, exploring its journey from inception to becoming one of the most promising tools for building robust decentralized systems. The Origins of Move: A Solution to Blockchain Challenges The Move programming language was first introduced by Meta (formerly Facebook) as part of its ambitious Diem project (initially called Libra). Diem aimed to create a global digital currency and financial infrastructure powered by blockchain technology. However, the team quickly realized that existing smart contract languages were insufficient for their vision. Traditional languages often lacked mechanisms to prevent common vulnerabilities such as reentrancy attacks, integer overflows, and unauthorized asset duplication. These issues had already caused significant damage in other ecosystems, most notably the infamous DAO hack on Ethereum. To overcome these challenges, Meta’s engineering team developed Move, a new language specifically designed for resource-oriented programming. Unlike conventional programming languages, Move treats digital assets as first-class resources , ensuring they cannot be duplicated, unintentionally deleted, or misused. This approach was inspired by linear logic, a mathematical framework that enforces strict ownership rules for resources. By embedding these principles into the core of the language, Move introduced a paradigm shift in how developers interact with digital assets on the blockchain. Although the Diem project was eventually shelved due to regulatory scrutiny, Move found new life in independent blockchain projects like Aptos and Sui. These platforms adopted Move as their primary smart contract language, recognizing its potential to revolutionize the way decentralized applications are built and secured. Key Features of Move: Why It Stands Out 1. Resource-Oriented Programming One of Move’s defining characteristics is its focus on resource-oriented programming . In Move, digital assets such as tokens, NFTs, or even custom objects are treated as resources that follow strict ownership rules. Once created, a resource cannot be copied or destroyed unless explicitly allowed by its module. This ensures that critical operations involving assets—such as transfers or state updates—are performed safely and securely. For example, consider a simple token transfer function written in Move: module examples::token { use sui::object::{Self, UID}; use sui::transfer; struct Token has key, store { id: UID, value: u64, } public fun mint(ctx: &mut TxContext, value: u64): Token { Token { id: object::new(ctx), value, } } public fun transfer_token(token: Token, recipient: address) { transfer::public_transfer(token, recipient); } } Here, the Token struct represents a resource that can only be transferred using the public_transfer function. Any attempt to duplicate or manipulate the token outside this function would result in a compilation error. This design eliminates entire classes of bugs and exploits commonly seen in other languages. 2. Modularity and Encapsulation Move promotes modular design , allowing developers to encapsulate functionality within self-contained modules. Each module defines its own types, functions, and access controls, ensuring clear separation between different components of a smart contract. For instance, a developer might create separate modules for token creation, trading pairs, and governance logic. This modularity enhances code readability, maintainability, and reusability. 3. Formal Verification Support Another standout feature of Move is its support for formal verification , a process used to mathematically prove the correctness of a program. Formal verification helps identify subtle bugs and edge cases that may not be caught through traditional testing methods. While not all Move-based projects require formal verification, the language’s structure makes it easier to apply this technique when needed. 4. Object-Centric Design (Sui-Specific Enhancements) On the Sui blockchain , Move has been further enhanced with an object-centric model . Every resource in Sui Move has a globally unique identifier (UID), enabling direct referencing and interaction with objects. This design simplifies complex workflows, such as managing NFTs or tracking user-specific data, while maintaining high performance and scalability. Real-World Applications of Move Since its adoption by Aptos and Sui, Move has been used to build a wide range of decentralized applications. Some notable examples include: 1. Decentralized Finance (DeFi) Protocols Move’s strong emphasis on security makes it ideal for DeFi applications, where billions of dollars worth of assets are at stake. Projects like Cetus —a decentralized exchange (DEX) built on Sui—leverage Move’s resource-oriented programming to implement advanced trading features while minimizing risks associated with asset manipulation. 2. Non-Fungible Tokens (NFTs) NFT marketplaces benefit greatly from Move’s ability to define and manage unique digital assets. Developers can create sophisticated NFT standards with granular control over ownership, royalties, and metadata. Additionally, Sui’s object-centric enhancements allow for seamless integration of dynamic NFTs, which can evolve based on predefined conditions. 3. Gaming and Metaverse Platforms Blockchain gaming requires efficient handling of in-game assets, player interactions, and real-time updates. Move’s modular architecture and low-latency execution make it well-suited for building immersive gaming experiences. Platforms like Blockus , a Web3 gaming ecosystem, utilize Move to power their decentralized games and economies. Comparing Move to Other Smart Contract Languages While Move shares some similarities with other smart contract languages, its unique features give it a competitive edge: Solidity : As Ethereum’s primary language, Solidity is widely adopted but suffers from legacy issues like vulnerability to reentrancy attacks. Move addresses these weaknesses through its resource-oriented model and stricter type safety. Rust (used in Solana) : Rust offers excellent performance and memory safety but lacks Move’s native support for resource management and formal verification. Additionally, Rust’s steep learning curve can deter newcomers compared to Move’s more intuitive syntax. Clarity (used in Stacks) : Clarity emphasizes transparency and predictability but operates within a limited scope tied to Bitcoin’s ecosystem. Move, on the other hand, supports broader use cases across multiple blockchains. The Future of Move: Adoption and Evolution As blockchain technology continues to mature, the demand for secure and scalable smart contract languages will only grow. Move is poised to play a pivotal role in shaping the next generation of decentralized applications, thanks to its innovative design and growing community support. Projects like Aptos and Sui are actively investing in developer education, tooling, and infrastructure to accelerate Move’s adoption. Initiatives such as the Move eLearning platform provide comprehensive tutorials and resources for aspiring developers, lowering the barrier to entry. Furthermore, collaborations with academic institutions and industry leaders are driving research into advanced topics like formal verification and cross-chain interoperability. Looking ahead, we can expect Move to expand beyond its current use cases, powering everything from enterprise-grade supply chain solutions to decentralized social networks. Its adaptability and robustness ensure that it remains relevant in an increasingly diverse and interconnected blockchain ecosystem.

    • Move
    3
  • MarlKey.Peera.
    ForSuiApr 30, 2025
    Expert Q&A

    Is the only way to publish Move packages through an EOA?

    I assume there is no way on Sui chain as there is no module on chain which publishes packages.

    • Sui
    • SDKs and Developer Tools
    • Move
    3
    3
    Best Answer
  • Grizzly.Peera.
    ForWalrusApr 30, 2025
    Expert Q&A

    How to configure Walrus with exchange object ID?

    I've been trying to configure Walrus using the client_config.yaml file, but I keep encountering an error that says 'Error: Object ID of exchange object must be specified either in the config file or as a command-line argument.' I have multiple exchange object IDs, but I'm not sure how they need to be structured in the configuration file. Could anyone provide detailed guidance on setting up the Walrus configuration, especially with multiple exchange objects?

    • Walrus
    • Typescript SDK
    0
    2
We use cookies to ensure you get the best experience on our website.
More info