On-chain thru manifold again - some success with SVG but no previews

I’ve made an SVG.
I wrapped it in JSON
(as per the manifold instructions for 721 contracts)

Tweaked it for 1155 contracts and got it to work. (finally)
Essentially this is ’ mintbase’ in etherscan and copy-pasting into etherscan.

Interestingly - the gas for 721 was about $400 (cancelled). The gas for the same file was $3 - I went ahead and minted 150 as a trial as a 1155.

Here’s the transaction.
https://etherscan.io/address/0xd1904c9f38601d42ea2697e900dba544fe74c700#events

BUT
There is no preview in my contract token list (it doesnt appear at all).
It appears in Opensea - but no preview
It appears on LooksRare - but no preview
It appears on Gem - but no preview

How can i get a preview? if people can’t see it then they clearly can’t buy it!

I think this is because it’s an SVG / json but not wrapped as a URI

If I wrap it as a URI - I get errors in ether scan and it won’t mint to the contract.

Tokens minted through Etherscan won’t show up on Manifold Studio right now, so that is expected.

From what I can see on the transaction on etherscan it seems like you didn’t input the URI so the tokens have no URI at all with the metadata and SVG artwork:

https://etherscan.io/tx/0xac47e6e194a7f5a017f09cbd0b62c92290cfaa10030691fcd8b369a0e9afb2bb

https://etherscan.io/tx/0x98d82ca65ad393414453b489779e728824f276f8a98e70a883ed9c18442af3b9

1 Like

aguspunk - thanks for the reply.

I followed the instructions here:

But I’m using a 1155 contract.

I have a URI prepared with
data:application/json;utf8,<MY_JSON_MINIFIED>

The mintbase 721 interface asks for uri (string)
But the mintbase 1155 asks for uris (string[])

If i paste in my URI in 721, that’s fine. But I want to mint several on my 1155 contract. I paste the same URI in and i get an error on etherscan:

missing ) after argument list.

I’m assuming it’s expecting several URIs connected or something and i have brackets or commas missing.

What should be the correct formatting with brackets for 1155?

Thanks for your assistance - I’m so close to getting this project off the ground!

[responded in another thread but lets continue discussion here if needed]

Maybe you’ve figured it out already but erc1155 allows you to mint many at once. And yes, the syntax is different. In short, you add brackets on either end and use a comma for multiple items.

Say you want to send 0x123… 250 units of a token with uri “google.com

to: [0x123....]
amounts: [250]
urls: ['https://google.com']

Say you want to send 0x123… 250 units of token with url google1.com and 0x456… 150 units with url google2.com:

to: [0x123....,0x456]
amounts: [250,150]
urls: ['https://google1.com','https://google2.com']

A few things:

  1. Don’t put spaces after or before the commas if you are doing multiple items.
  2. Don’t put quotes around the address.
  3. Use single quotes around the urls not double quotes. Otherwise the json won’t work.

Last, you wrote in the initial post that you will do a claim afterwards with the 250 tokens. If you mean a Manifold claim page, you can’t do that at the moment. With claim pages your collectors mint the tokens, not you.

OK that makes sense - where does the description, name etc go in that case?

my json/svg/URI starts like this.

data:application/json;utf8,{“name”:“X09Test”,“description”:“An upgrade to X09”,“image”:"data:image/svg+xml;utf8,%3csvg viewBox=‘0 0 4000 4000’ xmlns=‘SVG namespace’ xml:space=‘preserve’

if i put [ ] around all of that and changed the double quotes to the single i get the same errors.

I see. It’s because the svg tool in the guide uses single quotes. Here’s how to make it work:

  1. follow the instructions to get the example uri. In the instructions it looks like this:
data:application/json;utf8,{"name":"Seed Phrase","description":"An NFT to remind me to never share my seed phrase.","image":"data:image/svg+xml;utf8,%3csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMinYMin meet' viewBox='0 0 350 350'%3e%3crect width='100%25' height='100%25'/%3e%3ctext xmlns='http://www.w3.org/2000/svg' x='50%25' y='50%25' dominant-baseline='middle' text-anchor='middle' style='fill:%23fff;font-family:serif;font-size:14px'%3eI will never share my seed phrase.%3c/text%3e%3c/svg%3e"}
  1. Now, for every single quote (not double quote) insert a backslash \ before it. With the example above, it would look like this:
data:application/json;utf8,{"name":"Seed Phrase","description":"An NFT to remind me to never share my seed phrase.","image":"data:image/svg+xml;utf8,%3csvg xmlns=\'http://www.w3.org/2000/svg\' preserveAspectRatio=\'xMinYMin meet\' viewBox=\'0 0 350 350\'%3e%3crect width=\'100%25\' height=\'100%25\'/%3e%3ctext xmlns=\'http://www.w3.org/2000/svg\' x=\'50%25\' y=\'50%25\' dominant-baseline=\'middle\' text-anchor=\'middle\' style=\'fill:%23fff;font-family:serif;font-size:14px\'%3eI will never share my seed phrase.%3c/text%3e%3c/svg%3e"}
  1. Now wrap it all in brackets and a pair of single quotes. Like this:
['data:application/json;utf8,{"name":"Seed Phrase","description":"An NFT to remind me to never share my seed phrase.","image":"data:image/svg+xml;utf8,%3csvg xmlns=\'http://www.w3.org/2000/svg\' preserveAspectRatio=\'xMinYMin meet\' viewBox=\'0 0 350 350\'%3e%3crect width=\'100%25\' height=\'100%25\'/%3e%3ctext xmlns=\'http://www.w3.org/2000/svg\' x=\'50%25\' y=\'50%25\' dominant-baseline=\'middle\' text-anchor=\'middle\' style=\'fill:%23fff;font-family:serif;font-size:14px\'%3eI will never share my seed phrase.%3c/text%3e%3c/svg%3e"}']
  1. Execute the tx on etherscan. e.g.

I’ve tested this works.