There's a new trend emerging in the intersection of gaming and blockchain technology. This trend is Telegram game mini apps. These mini apps, built on the TON (The Open Network) blockchain, are emerging as a powerful tool for crypto projects, subtly embedding blockchain elements into widely accessible games. This strategy not only engages a broad user base but also introduces them to the potential of cryptocurrency in a familiar and enjoyable context.
The Rise of GameFi on TON
The TON ecosystem, with its robust and scalable blockchain infrastructure, provides an ideal platform for GameFi (gaming finance) applications. By integrating with Telegram, which boasts over 800 million users, developers can leverage a vast audience without the typical barriers to entry found in traditional app stores. Telegram mini apps enable seamless game integration within the messaging app, offering instant access and easy user engagement.
https://ton.org/gamefi
Key features of TON that benefit game developers include:
Fast and Low-Cost Transactions: Capable of processing over a million transactions per second, TON ensures smooth and cost-effective gaming experiences.
Secure Wallet Integration: TON Connect 2.0 allows for secure user wallet connections, facilitating safe transactions and interactions within games.
Community Building Tools: Telegram's extensive community features help developers build and maintain active user bases, crucial for the success of GameFi projects.
Case Studies
Notcoin
Notcoin has achieved notable success as a GameFi application within the TON ecosystem. Launched as a play-to-earn game on Telegram, it quickly captured a large user base by combining engaging gameplay with blockchain rewards.
The game mechanics are simple. Just tap the screen to mine Notcoins. There are also mechanics to mine more, like completing quests, joining squads, using power-ups, etc.
In just a few months Notcoin instantly became a top-10 cryptocurrency in the world by trading volume, reaching nearly $700 million in market capitalization.
https://t.me/notcoin_bot
Key Metrics and Achievements:
Rapid User Growth: Notcoin attracted over 650,000 users within weeks of its closed beta launch in November 2023. By the official launch on January 1, 2024, it had over 5 million players in its first week alone.
Market Capitalization: Notcoin's market cap reached approximately $2.25 billion, with a 24-hour trading volume of $1.69 billion, highlighting its significant impact and widespread adoption.
Active Wallets: Over 678,000 on-chain wallets now hold NOT tokens, indicating broad investor interest and adoption within the TON ecosystem.
WatProtocol by Gamee
WatProtocol is a newly launched project by Gamee. It integrates innovative mining and earning mechanisms within its gameplay, attracting a new wave of users to the TON ecosystem.
https://t.me/gamee/mining
One of the standout features of WatProtocol is its innovative approach to engaging users through a series of gamified episodes. Each episode introduces new ways for players to earn WatPoints, incentivizing continuous engagement and participation. The protocol also offers both soft and hard staking options for GMEE tokens, rewarding players based on their level of commitment and activity within the ecosystem. This dual approach not only retains existing users but also attracts new ones looking for varied ways to earn rewards.
https://points.gamee.com/
Overall, WatProtocol’s integration with a popular messaging platform, innovative reward mechanisms, strategic partnerships done by Gamee, and commitment to fair play position it well for substantial growth and success in the GameFi ecosystem.
Key Features:
Innovative Mining: WatProtocol introduces unique mining mechanics that reward players for their in-game activities.
User-Friendly Interface: The integration within Telegram ensures that users can easily access and interact with the game without the need for additional downloads.
Community-Driven: Like Notcoin, WatProtocol leverages Telegram's community features to build a robust user base.
Best Practices
To maximize the success of your blockchain-based game, prioritize a seamless user onboarding experience by leveraging Telegram Web Apps. This approach eliminates the need for traditional app store downloads, allowing users to access your game instantly.
Utilize the native integration with @Wallet for secure asset management, providing features like instant transfers, P2P markets, and easy asset purchases. This not only simplifies the user experience but also enhances security and convenience.
Community building and retention are crucial for sustained engagement. Use Telegram's tools such as channels, groups, and bots to foster a strong community. Push notifications, shareable links, and social sharing mechanics drive user interaction and virality.
Additionally, monetization through NFT and token strategies can be highly effective. Platforms like Getgems facilitate marketplace activities and secondary sales, while in-game tokens provide real-world value, keeping players invested and engaged. By integrating these best practices, you can create a thriving and dynamic GameFi project.
Conclusion
Telegram game mini apps on the TON blockchain are revolutionizing the way crypto projects engage with users. By combining the engaging nature of games with the powerful capabilities of blockchain, these mini apps serve as an innovative and effective Trojan Horse, driving the adoption of cryptocurrency and blockchain technology among mainstream users. As the GameFi sector continues to grow, projects like Notcoin and WatProtocol will likely pave the way for more innovative applications, further bridging the gap between gaming and crypto.
At CleevioX, we are watching this trend closely and expect more similar projects to be launched. We also have a white label solution and can bring your tap2earn game to market in 4 weeks. If you have an idea for such a minigame, get in touch and we will gladly discuss the potential with you.
Welcome to our comprehensive guide to the world of crypto wallets. In this article, we'll dive into the fascinating topic of crypto wallets from multiple angles. We'll examine the different types of wallets available, exploring their various features and functions. We'll also address key questions such as how crypto wallets generate revenue, and provide you with practical tips for using them safely and effectively. Finally, we'll take a look at the future of crypto wallets and offer our perspective on what lies ahead. So let's get started from the beginning!
What is a crypto wallet?
Cryptocurrency wallets store users' public and private keys, while providing an easy-to-use interface for managing digital assets. They also support cryptocurrency transfers via the blockchain. Some wallets even allow users to perform certain actions with their digital assets, such as buying and selling or interacting with decentralized applications.
It is important to remember that cryptocurrency transactions do not involve 'sending' digital assets from one person's mobile phone to another person's mobile phone. When digital assets are sent, a user's private key signs the transaction and sends it to the blockchain network. The network then incorporates the transaction to reflect the updated balance in both the sender's and recipient's address.
The term 'wallet' is therefore somewhat misleading, as crypto wallets don't actually store cryptocurrency in the same way that physical wallets store cash. Instead, they read the public ledger to show a user's balances, and hold the private keys that allow the user to make transactions.
As mentioned above, wallets store two types of keys.
Public key
A public key allows users to receive cryptocurrency transactions. It is public and available to everyone in the system.
Private key
A user's private key proves ownership of their respective public key. It must be stored separately and kept secret. In simple terms, it can be thought of as a password to a bank account.
Wallet address
There is one more thing about public keys. It is sometimes misinterpreted as a wallet address, but wallet addresses are essentially hashed versions of the public key. Public keys are compressed and shortened to make it easier to send an address.
Example of what keys and address looks like
Crypto wallets fall into several categories. There are 3 main categories that we will talk about in this article.
Hot and cold wallets
Custodial and non-custodial wallets
Types of wallets based on their medium
1. Hot and Cold Wallets
The main difference between hot and cold wallets is whether they are connected to the internet. Hot wallets are connected to the internet, while cold wallets are kept offline. This means that funds stored in hot wallets are more accessible and therefore easier for hackers to access.
Types of cold wallets:
Hardware wallets
Paper wallets
Types of hot wallets:
Browser wallets
Browser Extension Wallets
Mobile Wallets
Desktop Wallets
Cold wallets are great because of their portability, they are often small, plug-in devices that can be carried around. They are also the most secure type of wallet. One of the drawbacks is the price. They usually cost between $79 (Trezor Model One) and $316 (Ledger Stax). They're also less convenient for transfers, so the best use for them is to keep safe assets that you don't need to access often.
Hot wallets are generally easy to use because they are connected to the internet, so you can easily access your assets from anywhere. Most are also free to use. Security is the main concern with hot wallets as they can be vulnerable to hacking.
2. Custodial and non-custodial wallets
Custodial
These types of wallets are typically offered on centralised cryptocurrency exchanges such as Kraken, Crypto.com and others. They are convenient and easy to use, and are particularly popular with newcomers.
The main thing about custodial wallets is that users do not have full control over their digital assets and the private key needed to sign transactions. They are only held by the exchange or other custodian.
With a wave of centralised exchange scandals, most recently FTX, people are less willing to keep their digital assets in custodial wallets because there is no guarantee they will not lose them. There is a common saying about this - not your keys, not your crypto.
Kraken - custodial wallet
Non-custodial
Non-custodial wallets, on the other hand, allow a user to retain full control of their digital assets because the private key is stored locally with the user.
When starting a non-custodial wallet, the user is asked to write down and securely store a list of 12 or 24 randomly generated words, known as a "recovery", "seed" or "mnemonic" phrase. This phrase can be used to generate the user's public and private keys. This acts as a backup or recovery mechanism should the user lose access to their device.
3. Types of wallets based on their medium
Hardware Wallets
A hardware wallet, often a small plug-in device, is a portable key to securely access your crypto assets from anywhere.
Hardware wallets are considered cold wallets because they isolate your private keys from the Internet, reducing the risk of your assets being compromised in an online attack.
Private keys stored on the hardware wallet are protected by a PIN and optional passphrase. If someone steals your hardware wallet, it's almost impossible for them to extract the keys. The keys are never exposed to the Internet, so they can't be stolen.
If the hardware wallet is lost, the assets are secured with a single seed phrase. A seed phrase, also known as a recovery phrase, is a list of words that will regenerate your private key. The seed phrase can be used to move keys to another hardware wallet.
Most hardware wallets use a protected microcontroller where the chip that connects to the Internet is separate from the chip that stores the private key on the device.
They allow transactions to be physically and manually signed and verified while offline. Physical buttons or touchscreens allow the PIN to be entered, while the on-screen display allows the user to confirm that the address is exactly as desired.
Most have additional security methods such as PIN lock, 2-factor authentication, biometric security and other security procedures.
The most trusted hardware wallets are made by Ledger and Trezor.
Ledger Stax
Browser Wallets
Browser wallets are built directly into the browser. The main advantage over browser extension wallets is that they are less vulnerable to fake versions of an app, phishing and theft.
Browser wallets are currently offered by Brave, Opera and we understand that Microsoft Edge is working on one.
Brave Browser Wallet
Browser Extension Wallets
These are browser extensions that you can access using a supported browser such as Chrome, Brave or Opera. The software runs on the browser as a non-custodial wallet, with all your information stored there. Browser extension wallets are usually built for specific blockchains, but there are a few browser extension wallets that support multiple chains (Coinbase, Zerion, Backpack).
Browser extension wallets are excellent for interacting with decentralized applications, decentralized exchanges, NFTs and other decentralized applications.
There are probably the most wallets in this category. To name just a few:
Metamask
Trust
Argent
Coinbase
Phantom
Backpack
Metamask Browser Extension
Desktop Wallets
Desktop wallets are computer programs that run on a PC or laptop.
They store and manage private keys just like any other wallet, but they often have a few more features than you'll find in other types of wallets.
Each desktop wallet has a different set of features and functions.
Examples of desktop wallets include Exodus or Atomic Wallet.
Exodus Desktop Wallet
Mobile Wallets
Mobile crypto wallets are software programs that secure users' funds and allow them to interact with their crypto holdings using their mobile phone or other internet-connected mobile device.
The main benefit of a mobile wallet is the convenience of taking your crypto spending power with you wherever you go. The apps are generally user-friendly and make it easy to buy, store, exchange, spend or otherwise manage digital assets from a mobile device.
Trust Mobile Wallet
Wallet Functions
1. Send, buy, exchange
Sending and receiving digital assets is a key feature of crypto wallets. Unlike traditional fiat currencies, you can send crypto to anyone, anywhere in the world. Most wallets also allow you to buy crypto from their partners. This makes it easy to get new users up and running. They also allow you to exchange tokens for others.
2. Multiple accounts
Most wallets offer the flexibility to add multiple accounts. This can be useful for managing different activities such as crypto trading, NFT trading and DeFi investments.
3. Staking and contributing to liquidity pools
Staking allows you to passively earn rewards for holding crypto assets. A liquidity pool is a collection of crowdsourced cryptocurrency or tokens from which people can lend cryptocurrency and liquidity providers are rewarded for doing so. Some wallets allow you to participate in staking and contribute to liquidity pools directly within the wallet.
How Are Wallets Monetized?
You may be wondering how crypto wallets make money. And no, they do not take a cut of the transactions you make.
Most wallets run on affiliates. Because they attract a lot of users and usage, they are able to offer all sorts of features that are nothing more than a way to generate an affiliate commission from third-party services.
The most popular would be the ability to buy or exchange cryptocurrency.
Wallet Best Practices
Use 3 types of wallets
The most basic wallet best practice is to use 3 types of wallets. Hot, cold and what we like to call the YOLO wallet.
If you have more than $1000 in digital assets it is good practice to invest in a hardware (cold wallet). Use a separate hot wallet for daily use with trusted applications and exchanges. If you want to try something new and aren't 100% sure of the security, use the YOLO wallet (another hot wallet), which holds nothing of value and only a small amount of crypto that you can afford to lose.
Secure your seed phrase
Store your seed safely and only physically. Somewhere on a piece of paper that you keep at home. The next level is to engrave your seed into a metal plate, which will protect you in the event of a fire. There are even more advanced measures, such as splitting the seed in half and storing it in a couple of safes in two different places. Under no circumstances should you store the seed virtually, online, on a screen or written on a PC, as you could be hacked and lose everything.
More tips
Don't search for protocols and projects on Google. Often the first ones you see are a scam pretending to be an official projects. Always go through official social networks. Always check the URL.
Don't click on links sent to you by strangers. Be vigilant, don't trust anyone and consider everything a risk until you have verified it in some way.
Use Chrome extensions like Pocket Universe and the like. Even a simple gasless signature can mean that you activate a private sale of all your NFTs for 0 ETH to a scammer.
The Future of Wallets
There are a number of things that can be improved within the wallets, and we believe they will be in the future.
Better seed phrase protection
In the future, there should be better protection of seed phrases. For example, we can see seed phrases being automatically backed up to iCloud when a wallet is created. Another thing is seed recovery. At the moment there is no way to recover seeds, but this will be changed in the future. There has been a new standard ERC-4337 introduced on Ethereum that allows account abstraction and will give wallets similar functionality to bank accounts.
Wallet addresses
At the moment, wallet addresses are a bit clunky. They are not as easy to use as email. There are options to buy ENS or unstoppable domains that you can assign to your wallet and then you can send cryptocurrency to cleevio.eth instead of 0x..... The problem is that domains have an expiration date and you have to remember to renew them. Wallets could help with this.
Better user experience
The signing transaction is a big mess right now. 99% of people don't know what they're signing because transactions look like code. We need wallets to translate transactions for us so we can be informed, be safe and make better decisions. Another thing is interactions with DeFi protocols. We imagine that in the future, if we put cryptocurrency into a liquidity pool, for example, the wallet will tell us how much we have there and how much we are earning from it.
Phone as a hardware wallet
In the future, phones could act as hardware wallets. At the hardware level. It would be a lot more convenient. We don't see anybody thinking about it now, Google or Apple are not embracing this technology fast enough. It will probably be someone in the crypto industry who develops such a phone first.
Notifications and messages
The last feature we are missing in the wallets is notifications and messages. There are a few wallets that offer notifications, but it is far from perfect at the moment. It would be very convenient if we could get notifications about price changes, eligibility for airdrops and so on. We could also see the benefits of sending messages between wallets. Of course, there is a risk of spam and phishing attacks, so this system has to be very well thought out.
As we close this guide, it's clear that the world of crypto wallets is still in its infancy, with new developments and innovations emerging all the time. It remains to be seen whether a single dominant wallet will emerge, or whether users will continue to use multiple wallets for different purposes. What is certain, however, is that the future of crypto wallets is bright and there are exciting developments on the horizon. We hope this guide has provided you with a solid foundation of knowledge to help you navigate the ever-evolving landscape of crypto wallets.
Dubai is at the forefront of digital transformation. It developed its own blockchain strategy in 2016, with the aim of becoming the world's first blockchain-powered city. And with the establishment of the Virtual Asset Regulatory Authority (VARA) in 2022, Dubai offers a mature regulatory framework for the digital asset industry. With its favourable ecosystem, Dubai has become the destination of choice for many crypto startups. Let’s explore why.
City of innovations
Dubai is known for it's appetite for innovation. The city's government has been committed to digital transformation since the announcement of its first ICT strategy in 1999, which led to the creation of several entities such as Dubai Internet City, Dubai E-government and Dubai Smart Government.
In October 2016, Dubai launched a citywide blockchain strategy to become the first blockchain-powered city. The aim was to continuously update traditional processes to ensure efficiency and speed in government-to-consumer and government-to-government services.
Dubai saw the potential of blockchain as a solution that uses open, distributed databases for transactions involving value, whether monetary or any type of digital asset.
Dubai also recognises blockchain technology as the ultimate trust mechanism. Blockchain eliminates the need for trusted third parties in transactions of any asset, an attribute that could significantly help simplify the Dubai government's evolving processes.
Its blockchain strategy is based on three pillars:
Government Efficiency - implementing blockchain technology in government services
Industry Creation - supporting industry, creating opportunities and enabling the entire ecosystem
Local and International Thought Leadership - Dubai hopes to attract blockchain talent by providing more efficient, seamless, secure and impactful experiences for its residents and visitors. This is also in line with the city's vision to embrace technological innovation.
It is also worth mentioning that there are crypto/blockchain events happening in Dubai almost all the time.
Regulations and guidelines
Dubai's Virtual Asset Regulatory Authority (VARA) was launched in Q1 2022 as the world's only independent and dedicated regulator for virtual assets, including cryptocurrencies or tradable digital tokens (NFTs). It aims to address the global money laundering and terrorist financing risks posed by the potential misuse of new technologies.
As the authority responsible for the supervision of virtual assets in Dubai, VARA aims to facilitate the economic stability, investor protection and legal resilience associated with virtual assets.
VARA recently issued new guidelines for virtual asset trading in the city, providing a comprehensive framework for virtual assets based on principles of economic sustainability and cross-border financial security.
The new regulations cover seven licensed virtual asset activities:
Advisory services
Broker-dealer services
Custodian services
Exchange services
Lending and borrowing services
Payment and remittance services
Virtual wealth management and investment services
Issuance is also a regulated activity under the VARA, allowing consumers to make informed decisions about new tokens being launched in Dubai and the associated obligations of the issuer.
Existing and new virtual asset providers are offered a pathway to full licensing. New services will be required to register with VARA and become fully compliant. Any breach of this condition will be subject to regulatory action.
VARA's regulations have been welcomed by the crypto industry, with some calling it a mature regulatory framework for the digital asset industry. It is also a major counterweight to the US SEC, which has taken an opposing view on crypto and has not issued any guidance to date.
Favourable taxes
Last but not least Dubai has very favourable tax policies. There is 0% personal income tax and no capital control restrictions. This means that cryptocurrency profits are not taxed in Dubai. This eliminates the need for extensive record keeping and filing.
The regulatory friendliness, activity of the crypto community, number of startups and future importance of the hub all point to Dubai. According to a report by Blockworks, the city boasts over 500 crypto companies operating within its borders and we can clearly see why.
Dubai's favourable ecosystem is starting to beat other crypto hubs such as London, Singapore and San Francisco. If Dubai can fight fraud with its regulations and attract the talent it needs, it has a good chance of emerging on top.
Would you reallocate to Dubai to start your business?
Non-fungible tokens (NFTs) are digital assets that are becoming increasingly popular in the blockchain world. They allow creators to sell unique, digital items like artwork, music, and even tweets as one-of-a-kind assets that cannot be replicated or duplicated. In this tutorial, we'll walk through how to create an NFT smart contract in Sui Blockchain using the Move programming language.
Prerequisites
Before we start, there are a few things you'll need:
A basic understanding of blockchain technology
Familiarity with the programming
A text editor or integrated development environment (IDE) for writing Move code
Sui uses Move as a programming language for smart contracts. Smart contracts are stateless and the state is stored in an object. An object either has an owner or is a shared object and thus anyone can read and update the object. To create an NFT collection on the Sui blockchain, you will need to write a Move smart contract. The Move smart contract should define the NFTs that you want to create and how they will be stored. You will also need to define the rules governing the minting of the NFTs.
Open a text editor or IDE that supports Move language. Some popular options are Visual Studio Code with the Move Language Support extension or the Diem IDE.
Start by opening the desired folder in a terminal and create a new project by command: sui move new some_dog_nft
Create a new file in the sources folder with a .move extension. This file will contain the code for your smart contract. Begin your code by defining the module name and import statements. In this case, we're defining the module name as some_dog_nft::DogNFT and importing necessary modules using the use keyword. Here's what it should look like:
module some_dog_nft::DogNFT { use sui::object::{Self, UID}; use sui::transfer; use sui::url::{Self, Url}; use sui::tx_context::{Self, TxContext}; // code goes here }
Define a constant called MAX_SUPPLY to set the maximum number of tokens that can be minted. In this case, we're setting the value to 10. Here's what it should look like:
const MAX_SUPPLY: u64 = 10;
Define a constant called ELimitExceeded to represent an error code that will be thrown if the maximum supply is exceeded. In this case, we're setting the value to 1. Here's what it should look like:
const ELimitExceeded: u64 = 1;
Define a struct called SomeDogNFT to represent the attributes of the token. In this case, we're including id, n (the token number), and url (the URL of the token's image). You can add additional attributes as necessary. Here's what it should look like:
struct SomeDogNFT has key, store { id: UID, n: u64, url: Url // Add attributes }
Define another struct called NftCap to represent the number of tokens that have been minted and issued. This will be used to enforce the maximum supply. Here's what it should look like:
struct NftCap has key { id: UID, issued_counter: u64, }
Define a function called init to initialize the smart contract. The init function takes in a mutable reference to TxContext, which is a context object that contains information about the current transaction.
Inside the init function, we define a local variable called minting_cap which is an instance of the NftCap struct. This struct has two fields: id and issued_counter. id is a unique identifier for the NftCap instance, and issued_counter is initialized to 0.
To create a new NftCap object, we call the object::new function and pass in the ctx parameter. This function generates a new UID value, which is assigned to the id field of the NftCap instance.
Finally, we call the transfer::transfer function to transfer ownership of the minting_cap object to the sender of the transaction. The tx_context::sender function is used to retrieve the sender address from the transaction context, which is then passed as the second parameter to transfer::transfer. This effectively assigns ownership of the minting_cap object to the sender of the transaction.
Here's what it should look like:
fun init(ctx: &mut TxContext) { let minting_cap = NftCap { id: object::new(ctx), issued_counter: 0, }; transfer::transfer(minting_cap, tx_context::sender(ctx)) }
In the last step, define a public entry function called mint to mint a new NFT. The function takes in four parameters: a mutable reference to an NftCap object, a vector of bytes representing the URL of the NFT image, an address representing the receiver of the NFT, and a mutable reference to TxContext, which is a context object that contains information about the current transaction.
The first line of the mint function retrieves the current value of issued_counter from the NftCap object passed in as a parameter and assigns it to a local variable n. The next line increments the issued_counter field of the NftCap object by 1 to indicate that a new NFT has been minted.
The assert! macro on the next line is used to ensure that the total number of NFTs minted does not exceed the maximum supply limit, which is defined as MAX_SUPPLY and set to 10 in this case. If the assert! condition is not true, the execution of the function will be aborted and an error code ELimitExceeded will be returned.
If the assert! condition passes, the function creates a new SomeDogNFT object with a unique ID generated using the object::new function and assigns the n value to its n field. The URL of the NFT image is passed as a parameter to the url::new_unsafe_from_bytes function to create a new Url object, which is then assigned to the url field of the SomeDogNFT object.
Finally, the transfer::transfer function is called to transfer ownership of the newly minted SomeDogNFT object to the receiver specified in the function parameters. This completes the process of minting and transferring a new NFT.
Here's what it should look like:
public entry fun mint(cap: &mut NftCap, url: vector, receiver: address, ctx: &mut TxContext) { let n = cap.issued_counter; cap.issued_counter = n + 1; assert!(n <= MAX_SUPPLY, ELimitExceeded); let nft = SomeDogNFT { id: object::new(ctx), n: n, url: url::new_unsafe_from_bytes(url) }; transfer::transfer(nft, receiver); } }
How to deploy smart contract
Create a wallet via the Sui extension: The SUI extension can be downloaded and installed from the Google Chrome Web Store. Once installed, open the extension and create a new wallet by following the on-screen instructions. Remember to store your recovery phrase in a safe and secure location.
Use the faucet to get Sui tokens: Next, you will need to obtain some SUI tokens to deploy your smart contract. The SUI faucet allows you to request some tokens for free. Open the Sui wallet and follow the instructions to request tokens.
Get the wallet address via Sui client addresses: Once you have received your SUI tokens, you will need to retrieve your wallet address. This can be done using the SUI client by running the following command:
sui client addresses
This will display a list of all addresses associated with your SUI wallet. Copy the address you wish to use for deploying your smart contract.
Transfer the Sui tokens to the cli wallet: Now that you have obtained your wallet address and received your SUI tokens in-browser wallet, you will need to transfer the tokens to your cli wallet using the extension:
Publish command: Finally, you are ready to deploy your smart contract. Use the following command in the project root folder to publish your smart contract on the SUI blockchain:
sui client publish –gas-budget 3000
The -gas-budget flag sets the maximum amount of gas you are willing to spend on the deployment. You can adjust this value as needed.
And that's it! Your SUI smart contract should now be deployed and ready to use on the SUI blockchain. From the output, you can get a transaction hash to check your smart contract in Sui explorer https://explorer.sui.io/ . In the output you can see something like this: Created Objects: - ID: 0x0da258d968f90acace4fcbe18acd7535bd870ee8 , Owner: Account Address ( 0x18d30ad5fca75b39de034d3b7442fb5d4ab44f3c ) - ID: 0xa0afddabe3fecf4fed9e78b28af9f008c934a968 , Owner: Immutable
The first ID is created NFTCap object and the second one is the packageId of the smart contract. We can transfer ownership of the NFTCap object to the browser wallet for easier NFT minting. You can execute the following command:
sui client transfer --object-id {YOUR_NFTCAP_ID} --to {YOUR_WALLET_ADDRESS} --gas-budget 3000
Now you can find your packageID in Sui explorer.
Connect your wallet using the button Connect Wallet and fill in all fields. In the first one enter NFTCap object id, in the second enter the image URL and finally in the third one set the receiver address of the NFT and hit execute. Approve the transaction and NFT should be minted on the receiver address.
You can also mint NFT directly from cli wallet using this command:
sui client call --function mint --module DogNFT --package {YOUR_PACKAGE_ID} --args {YOUR_NFTCAP_ID} {IMAGE_URL} {RECEIVER_ADDRESS} --gas-budget 10000