Post
Share your knowledge.
How to update coin logo on Sui smart contract?
I'm trying to update the coin logo on a deployed smart contract on SuiCoins.com, but I've hit a roadblock because the contract is immutable. Are there any possible workarounds or methods like using proxy contracts or implementation contracts to change the logo so it reflects on platforms like suiscan or suivision?
- Sui
Answers
3You can't directly update metadata for an immutable smart contract. However, if your smart contract uses the coin module and you've been given the TreasuryCap, you can use the update_icon_url
method to update the URL of the coin's icon in the metadata. This won't work if you've created a fixed supply token .
If updating icon_url
in CoinMetadata doesn't reflect immediately on explorers like suiscan, you might want to check if there's a delay or if you need to trigger a refresh on these platforms. Sometimes the update reflects in multisignature wallets but takes time to appear on explorers .
Updating a coin logo on a deployed Sui smart contract can be challenging due to the contract's immutability. However, there are potential workarounds to achieve this.
Possible Solutions
- Update Coin Metadata: If the
CoinMetadata
object was not frozen upon creation, you can use functions likeupdate_icon_url
to update the logo URL. This requires having the necessary permissions and access to theTreasuryCap
object associated with your coin. - Create a New Coin: If the metadata is frozen, one option is to create a new coin with the updated logo and migrate users to the new coin. This involves creating a new smart contract with the updated logo and functionality to transfer existing tokens to the new coin.
- Use a Proxy Contract: Although not directly applicable to updating metadata, proxy contracts can be used to implement upgradeable logic in your smart contract. This might involve creating a proxy contract that points to the original contract and updates the logo URL accordingly.
Steps to Update Coin Metadata
- Verify
CoinMetadata
Status: Check if theCoinMetadata
object is frozen or not. If it's not frozen, you can proceed with updating the logo URL. - Use
update_icon_url
Function: Call theupdate_icon_url
function with the new logo URL to update the coin metadata. - Verify the Update: After updating the logo URL, verify that the change is reflected on platforms like SuiScan or SuiVision.
Additional Resources
- Sui Documentation: Refer to the official Sui documentation for detailed information on updating coin metadata and working with smart contracts.
- Sui Developer Community: Join the Sui developer community to ask questions and get help from experienced developers ¹.
Keep in mind that the specific steps and feasibility of updating a coin logo may vary depending on your smart contract's implementation and the Sui network's policies.
Do you know the answer?
Please log in and share it.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
- Why does BCS require exact field order for deserialization when Move structs have named fields?65
- How to Maximize Profit Holding SUI: Sui Staking vs Liquid Staking514
- Multiple Source Verification Errors" in Sui Move Module Publications - Automated Error Resolution55
- Sui Move Error - Unable to process transaction No valid gas coins found for the transaction419
- Sui Transaction Failing: Objects Reserved for Another Transaction49