Comments (3)
On second thought, it could be just a display problem with "spl-token display", in which case the downstream issues are due to other causes. It's hard to tell because while that command shows commas, and solscan.io shows the same, solana.fm shows colons.
from solana-program-library.
@SolBugz The Token Metadata additional metadata is one field with a Vec<(String, String)>
. To put this in JavaScript terms (closer to JSON) it looks like: [string, string][]
.
So the JSON you've pasted here appears correct. It's a list of tuples [string, string]
. ie:
{
"additionalMetadata": [
["animal", "horse"],
["plant", "daisy"],
["rock", "granite"]
]
}
It's hard to tell because while that command shows commas, and solscan.io shows the same, solana.fm shows colons.
SolanaFM may be trying to map this to key-value display, since that's what the intention is with this field, but it must be tuples in order to be dynamic for key names!
from solana-program-library.
@buffalojoec Thanks but I'm not sure what "dynamic for" means in this context. You can have the exact same dynamically-sized, updateable structure in your example with colons instead of commas. They wouldn't be Vecs in the Rust sense but the format would be consistent with all the metadata already out there.
This might explain why it seems that no explorer or wallet currently picks up "image" when it resides in "additionalMetadata". This is problematic because it forces the existence of off-chain metadata, at least for tokens with images, when in fact Token-2022 would allow one to implement an SPL token entirely on-chain.
I suppose it's too late to change this (unless comma-vs-colon is left undefined in the Token-2022 spec). If that's the case then it's an awareness problem on the part of all the explorers and wallets, both in terms of the punctuation and also that "additionalMetadata" should be imported just like off-chain metadata.
from solana-program-library.
Related Issues (20)
- transfer-hook: Unable to use seed to generate an ExtraAccountMeta that isn't a PDA HOT 4
- Cannot close frozen token account because of its assets. HOT 1
- Suggestion: Add new authority for 'spl-token withdraw-excess-lamports' HOT 3
- Suggestion : disable transfering tokens between same token accounts HOT 2
- Suggestion: customized token gas fee
- Feature Proposal: Confidential Mint & Burn Extension HOT 7
- Feature Proposal: Confidential Permanent-Delegate Extension HOT 1
- Unable to withdraw withheld fees for a Token-2022 contract with 1% Transfer Fees HOT 3
- Customized token gas fee
- `2.0.0` `solana-program` release causing issues due to `<=2.0.0` on patch upgrades. HOT 26
- Question/Bug: Solana 1.18.17 crates don't build | Spl-pod 0.1.0 needed for older version of solana HOT 6
- Question (Bug?): Upgrade of @solana/spl-token from 0.4.6->0.4.7 throws ERR_REQUIRE_ESM error HOT 4
- createMint Throwing TypeError: Cannot read properties of null (reading 'toBuffer') HOT 2
- Feature: Allow permanent delegate to close ata's for mint HOT 2
- @solana/[email protected] causing ESM import errors HOT 1
- Token Account HOT 1
- Issue: `invoke_transfer_checked` failed with out of memory for 2 transfers with hook HOT 3
- getOrCreateAssociatedTokenAccount throws error despite payer has enough SOL and account exists already. HOT 1
- Getting 'error: failed to compile `spl-token-cli v4.0.0`, intermediate artifacts can be found...' HOT 2
- token-cli: `set-transfer-fee` has different granularity than `create-token`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solana-program-library.