Skip to main content

Asset in Horoscope

Currently, Horoscope is supporting ERC20, ERC721, CW20 and CW721.

1. EVM with ERC20/ERC721

Horoscope will index ERC20/ERC721 if your contract implement required IERC20/IERC721 interface

2. Cosmwasm with CW20/CW721

When you build your Cowmwasm contract, you must include contract type in field name like that:

src/lib.rs
pub const CONTRACT_NAME: &str = "crates.io:cw721-base";

There are alot of type CW20 and CW721. Currently, we support all type CW721 from cw-nfts and CW20 from cw-plus. List assets type supported in Horoscope-v2:

code-type.json
{
"CW20": ["crates.io:cw20-base"],
"CW721": [
"crates.io:cw721-base",
"crates.io:cw721-metadata-onchain",
"crates.io:cw721-fixed-price",
"crates.io:cw2981-royalties",
"crates.io:cw4973"
]
}

3. Which data is saved?

All metadata is saved into database. With ERC20/CW20, we save balances of all account so you can query database to get them. With ERC721/CW721, we crawl metadata from IPFS and save them into AWS S3 storage for faster access instead query from ipfs.io.

Horoscope used Metadata Standard from OpenSea. It crawl image and animation_url attribute from IPFS, and save to AWS S3 bucket for faster view.
There are 2 way to provide metadata for NFT:

  • Use extension (image or animation when mint), example schema:
   {
"image": "ipfs://bafkreifc7sh35rlrqyhjwmjudy4kh5u5y7n56bhxmyvanc6kugijnnx3py",
"image_data": "",
"external_url": "",
"description": "Hot",
"name": "token Mars",
"attributes": [],
"background_color": "",
"animation_url": "ipfs://bafkreifc7sh35rlrqyhjwmjudy4kh5u5y7n56bhxmyvanc6kugijnnx3py",
"youtube_url": "",
"royalty_percentage": 100,
"royalty_payment_address": "aura1xr2v9fwc9647fnkwky7p7zkkm8rylc2g8x6uly"
}
  • Use token uri (point to a json file with schema above in IPFS), example:
   ipfs://bafkreibt4zzazlxfddjh5juopqeoe24kb43jok7xdd5v3wrcqt73cqpnki

We recommend use image, animation_url and token uri is an IPFS link (ipfs://cid). Some HTTP request may be blocked when Horoscope crawl them.