ordinals.hiro.so
Open in
urlscan Pro
76.76.21.142
Public Scan
Submitted URL: http://ordinals.hiro.so/
Effective URL: https://ordinals.hiro.so/
Submission: On April 22 via api from US — Scanned from DE
Effective URL: https://ordinals.hiro.so/
Submission: On April 22 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
InscriptionsBRC-20hiro.so Last Inscription #70299212 22.04.2024, 04:44 Explore Ordinals inscriptions. Search, filter, and sort by address, inscription ID, sat number, or block. ⌘K or explore all Latest Inscriptions transfer wzrd 950 brc-20 {} #70299212 transfer PUPS 111 brc-20 {} #70299211 transfer piin 1000000 brc-20 {} #70299210 p: tap op: dmt-mint dep: aea69ff971426c29bf3f8ce9efa9f014c02334abc1f25eefc6879e0bcf860511i0 tick: natdiamonds blk: 840048 tap {} #70299209 OHLONGJOHNSON #70299208 OHLONGJOHNSON #70299207 transfer sats 6134522840 brc-20 {} #70299206 transfer W☮ 40000 brc-20 {} #70299205 p: tap op: dmt-mint dep: aea69ff971426c29bf3f8ce9efa9f014c02334abc1f25eefc6879e0bcf860511i0 tick: natdiamonds blk: 839939 tap {} #70299204 var metaCharset = document.createElement('meta'); metaCharset.setAttribute('charset', 'UTF-8'); var head = document.head; head.insertBefore(metaCharset, head.firstChild); const body = document.body; body.style.margin = "0"; body.style.background = "transparent"; const canvas = document.createElement('canvas'); canvas.id = 'canvas'; canvas.width = '400'; canvas.height = '480'; canvas.style.display = 'none'; body.appendChild(canvas); const img = document.createElement('img'); img.id = 'retordinalImg'; img.src = '/content/097d39b58ec1ff19d6d64cd6a21838676385f5c992d4f256507dff38f263ea2bi0'; img.style.height = "100vh"; img.style.width = "100%"; img.style.objectFit = "contain"; img.style.aspectRatio = "5 / 6"; body.appendChild(img); const traitsUrl = '/content/f795b726ef93762ae580785771c525d800c74b9d49e6bb4a7f9f5adfb961ae64i0'; const variationsUrl = '/content/f795b726ef93762ae580785771c525d800c74b9d49e6bb4a7f9f5adfb961ae64i1'; let retordVariationId = retordinalId - 1; let traits = null; let variations = null; const layerOrder = [ "background", "background art", "boards", "phrases", "both hand", "left hand", "right hand", "special", "body", "chad bodies", "facial hair", "eyes", "head", "clothes", "chad clothes", "mouth", "helmet", "mask", "texture" ]; Promise.all([ fetch(traitsUrl).then(response => response.json()), fetch(variationsUrl).then(response => response.json()) ]).then(([fetchedTraits, fetchedVariations]) => { traits = fetchedTraits; variations = fetchedVariations; renderVariation(retordVariationId); }).catch(error => { console.error('err', error); }); function renderVariation(index) { const ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height); const variation = variations[index]; const variationElements = []; const traitLoadPromises = []; for (const traitType in variation) { let traitValue = variation[traitType]; if (traitValue === "none") continue; console.log(traitValue); let traitPath = resolveTraitPath(traitType, traitValue); if (traitPath) { const img = new Image(); img.crossOrigin = "anonymous"; img.src = `/content/${traitPath}`; const imageElement = { img, type: traitType }; variationElements.push(imageElement); traitLoadPromises.push(new Promise(resolve => img.onload = () => resolve(imageElement))); } } Promise.all(traitLoadPromises).then(loadedImages => drawImages(loadedImages)); } function drawImages(loadedImages) { const ctx = canvas.getContext('2d'); const frameUrl = '/content/9df5d3f26507e0a3a71892530d9036655756bb11c18b31521e1ac455fe750dfei0'; loadedImages.sort((a, b) => layerOrder.indexOf(a.type) - layerOrder.indexOf(b.type)); loadedImages.forEach(element => ctx.drawImage(element.img, 0, 0, 400, 480)); drawFrame(frameUrl, ctx); } function drawFrame(frameUrl, ctx) { const frameImg = new Image(); frameImg.crossOrigin = "anonymous"; frameImg.src = frameUrl; frameImg.onload = () => { ctx.drawImage(frameImg, 0, 0, 400, 480); document.getElementById('retordinalImg').src = canvas.toDataURL('image/png'); }; } function resolveTraitPath(traitType, traitValue) { switch (traitType) { case "eyes": if (traitValue === "m frames") { traitValue = "m frame"; } break; case "phrases": switch (traitValue) { case "will mek sex for wl": return "8d58354d912cdbf46b89f21a1d3dc99f0683891b361faf609667ca2ddc4d4cf6i1"; case "who's active right now?": return "3ba26c4b3bcbc97636861bf6c1f67526a88896bfb461a7f98e7a016054628e04i0"; case "wen airdrop?": return "577b240ca3beb1b59f759da4f344b0c5ce148ec076ecbebca3921ce670be4e7ai13"; case "we are- so f*cking -done!!": return "577b240ca3beb1b59f759da4f344b0c5ce148ec076ecbebca3921ce670be4e7ai12"; case "we are -so f*cking -back!": return "577b240ca3beb1b59f759da4f344b0c5ce148ec076ecbebca3921ce670be4e7ai11"; case "tords gunna -tord": return "577b240ca3beb1b59f759da4f344b0c5ce148ec076ecbebca3921ce670be4e7ai7"; case "wut ever happened 2 cardano?": return "70b3aa7498ce71bf3efc04ee15ec55e6c210ad7a540171d74810c96c216c3316i0"; case "it's all going--to zero!": return "d2d63dc9f5b4706ae5feed74d07a72683e88461c9a72b7b4f8eae617f74856cei7"; } break; case "right hand": if (traitValue === "voodoo") { return "8d58354d912cdbf46b89f21a1d3dc99f0683891b361faf609667ca2ddc4d4cf6i0"; } else if (traitValue === "lollipop") { return "fd3a9a09c1a8b7cba93d47d090c5376484d1857e49d5e0482004551d77362b65i0"; } break; default: switch (traitValue) { case "pigtails pink": return "339dfff3dce5192a48442c7cdd91f4887a43aa0cdd6215f5243e7cef7d1543afi39"; case "karen": return "339dfff3dce5192a48442c7cdd91f4887a43aa0cdd6215f5243e7cef7d1543afi30"; case "queue": return "2a1819ec624c63097185d28c30fc83460a31549e5b56b79d91023f206cef413ai0"; case "pigtails black": return "339dfff3dce5192a48442c7cdd91f4887a43aa0cdd6215f5243e7cef7d1543afi38"; case "pink tail": return "339dfff3dce5192a48442c7cdd91f4887a43aa0cdd6215f5243e7cef7d1543afi41"; case "skeleton": return "2b81310820f55fc0a73d2a4e40975aaa8b900d2f4ef9cfac58e01908771dcd21i14"; case "poop": return "2b81310820f55fc0a73d2a4e40975aaa8b900d2f4ef9cfac58e01908771dcd21i13"; } } return traits[traitType] && traits[traitType][traitValue] ? traits[traitType][traitValue] : ""; } #70299203 p: tap op: token-transfer tick: karma amt: 45000 tap {} #70299202 transfer @LFG 520 brc-20 {} #70299201 Explore all, sort, and filter → -------------------------------------------------------------------------------- #8030 LOOKING TO MAKE AN INSCRIPTION? Download Leather and try Gamma.io WHAT ARE ORDINALS? Ordinal Inscriptions, similar to NFTs, are digital assets inscribed on a satoshi, the lowest denomination of a Bitcoin (BTC). Learn more. This Ordinals Explorer is using the Hiro Ordinals API powered by Ordhook. Patent Pledge — Terms & Privacy © 2024 Hiro Systems PBC