from: https://opensea.io/collection/etherean-empire-drops
- Get All elements from this uri , address and tokenID from 0 to 10
- scrapp details > tokenID
- getJSON , insert it into a new metadata object
- parse image cid (IPFS)
- from the cid get the image
- download it to ./assets/
format: uri/address/tokenId [0,10]
- https://opensea.io/assets/ethereum/
- 0xb07f97c14d1b1b08481f9e2c3b8f13226ec0c903/
- 0
- Redeploy the images secuencially to ipfs or pinata , [research] ipfs.js and pineIT how to deploy NFTs from opensea
- Redeploy metadata using the new CID by tokenId
/*
i.e:
meta.image = "ipfs://foobarbazthingsdjfjkh"
*/
{
"name": "foo",
"description": "bar",
"external_url": "ask to rallsen",
"image": "${meta.image}",
"attributes":
[
{
"trait_type": "Rarity",
"value": "Legendary"
}
]
}
- research
- Research merkel trees
- Research solutions:
-
query the event log
-
scraping on OpenSea
-
research NFTs APIs https://ethereum.stackexchange.com/questions/107526/how-can-i-query-to-find-all-nft-token-holders https://ethereum.stackexchange.com/questions/36274/a-list-of-token-holders-at-a-specific-time/64814#64814 https://github.com/TokenMarketNet/sto/blob/master/sto/ethereum/scanner.py
-
ver : https://ethereum.stackexchange.com/questions/41684/api-to-gather-list-of-top-token-holders
-
probable answer:
{ "dependencies": { "@0xcert/ethereum-erc721": "^2.0.0-rc1", "web3": "^1.0.0-beta.37" } } // try to adapt { const CONTRACT_ACCOUNT = "0xE9e3F9cfc1A64DFca53614a0182CFAD56c10624F"; const CONTRACT_ACCOUNT = "0xE9e3F9cfc1A64DFca53614a0182CFAD56c10624F"; const CONTRACT_START = 6645906; const INFURA_KEY = "55397e793412497fb349e0ff77f154f2"; const Web3 = require('web3'); // Use web3@1.0.0-beta.36+ https://github.com/ethereum/web3.js/issues/1916 const web3 = new Web3(new Web3.providers.HttpProvider('https://mainnet.infura.io/v3/' + INFURA_KEY)); const erc721 = require("@0xcert/ethereum-erc721/build/erc721.json").ERC721; const contract = new web3.eth.Contract(erc721.abi, CONTRACT_ACCOUNT); var idToOwner = {}; contract.getPastEvents('Transfer', {fromBlock: CONTRACT_START, toBlock: CONTRACT_START+60000}).then(events => { events.forEach(event => { idToOwner[event.returnValues._tokenId] = event.returnValues._to }); console.log(idToOwner); }); }
-
the openSea API
-
Alchemy
-
Moralis
-
-
- Research on 1155, holders
- Get map the owner list and their transactions into a merkle tree
- create-next-app
- create a frontend
- create an API
- use firebase as DB
- Integrate frontend and backend with the API
- tasks
- import material
- walletConnect
- validate ownership
- API
GET api/wallet/[:address]
- Verify the tree?GET api/id/[:id]/owners
- returns a ownerList by AddressGET api/wallet/[:address]/[:tokenID]
- returns metadata- Por ahora no mucho mas los minteos se manejan desde el abi
. Deploy the new 1155 contract with (entrypoint tokenId) on testnet