Ord.io Logo
Ord.io
Inscription

63,947,824

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Nattribute DMT Viewer</title>
  <style>
    body {
      font-family: sans-serif;
      background-color: #fdf6e4;
      /* Cream color */
      color: #333;
      text-align: center;
      margin: 0;
      padding: 40px 0;
      position: relative;
      /* Needed to position svgContainer absolutely */
    }

    h1 {
      color: #2c3e50;
      font-weight: 600;
      margin-bottom: 20px;
    }

    #dmtForm {
      padding: 20px 40px;
      border-radius: 10px;
      display: inline-block;
      margin-bottom: 40px;
      position: relative;
      /* Ensures that the z-index is applied correctly */
      z-index: 10;
      /* Ensures form is above the overlaid image */
    }

    #dmtForm input[type="number"],
    #dmtForm button {
      width: 100%;
      padding: 10px 15px;
      margin-bottom: 20px;
      border-radius: 5px;
      border: 1px solid #bdc3c7;
      font-size: 16px;
    }

    #dmtForm button {
      background-color: #0b2531;
      /* Dark color */
      color: white;
      border: none;
      font-weight: 600;
      cursor: pointer;
      transition: background-color 0.3s ease;
      position: relative;
      /* For z-index */
      z-index: 10;
      /* Ensures button is above the overlaid image */
    }

    #dmtForm button:hover {
      background-color: #34495e;
    }

    #svgContainer {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    #svgContainer img {
      width: 80%;
      /* Change from 100% to 80% */
      height: 80%;
      /* Adjust height automatically to maintain the aspect ratio */
      max-width: 100%;
      /* Ensure the image does not exceed the screen width */
      max-height: 100%;
      /* Ensure the image does not exceed the screen height */
      object-fit: contain;
      /* This will ensure that the SVG fits nicely within the space, maintaining aspect ratio */
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }


    /* Additional styles */
    .additional-text {
      position: relative;
      /* For z-index */
      z-index: 10;
      /* Ensures text is above the overlaid image */
      color: #333;
      font-size: 14px;
      margin-top: 10px;
    }
  </style>
</head>

<body>
  <img src="data:image/png;base64,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" alt="Logo" style="max-width: 100%; height: auto;">
  <h1>Onchain Viewer</h1>
  <form id="dmtForm">
    <input type="number" id="numberInput" placeholder="Enter Nattribute Number" required>
    <button type="button" id="generateButton">View DMT</button>
    <p class="additional-text">Welcome to the DMT Nattribute Onchain NAT Viewer. Simple circles with deeper meaning. This Onchain Art Viewer will display your Nattribute, just enter your valid Nattribute number and we will draw your Nattribute using Digital Matter from data inscribed on Bitcoin. This is just a canvas, a starting point for something greater than any one of us. Long Live Art. Long Live Bitcoin.</p>
  </form>
  <div id="svgContainer"></div>
  <script>
    const inscriptiondata = {
      "background": {
        "background": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i0"
      },
      "bottomleft": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i9",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i1",
        "7": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i7",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i6",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i5",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i4",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i3",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i2",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i8",
        "2": "5f3d181cbd6fc8926113ce3324902f2efe902c91cbc340eb880546376527e598i0"
      },
      "bottomleftsmall": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i17",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i10",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i15",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i14",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i13",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i12",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i11",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i16",
        "2": "5f3d181cbd6fc8926113ce3324902f2efe902c91cbc340eb880546376527e598i0"
      },
      "bottommiddle": {
        "13": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i20",
        "15": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i22",
        "14": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i21",
        "12": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i19",
        "11": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i18",
        "16": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i23"
      },
      "bottomright": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i32",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i24",
        "7": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i30",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i29",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i28",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i27",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i26",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i25",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i31",
        "2": "5f3d181cbd6fc8926113ce3324902f2efe902c91cbc340eb880546376527e598i0"
      },
      "bottomrightsmall": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i40",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i33",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i38",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i37",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i36",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i35",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i34",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i39",
        "2": "5f3d181cbd6fc8926113ce3324902f2efe902c91cbc340eb880546376527e598i0"
      },
      "face": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i50",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i41",
        "7": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i48",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i47",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i46",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i45",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i44",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i42",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i49",
        "2": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i43"
      },
      "lefteye": {
        "lefteye": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i51"
      },
      "righteye": {
        "righteye": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei5"
      },
      "nose": {
        "nose": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei4"
      },
      "middleleft": {
        "9": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i59",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i52",
        "6": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i57",
        "5": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i56",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i55",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i54",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i53",
        "8": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i58"
      },
      "middleright": {
        "9": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei3",
        "0": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i60",

        "6": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei1",
        "5": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei0",
        "4": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i63",
        "3": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i62",
        "1": "d52ccf01aa03a83d557489d2afb625a9179036b04fb9f83345b2ba0b5e063bb1i61",
        "8": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei2"
      },
      "SPECIAL": {
        "aiblocks": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei6",
        "btclogo": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei7"
      },
      "topleft": {
        "9": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei16",
        "0": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei8",
        "7": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei14",
        "6": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei13",
        "5": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei12",
        "4": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei11",
        "3": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei10",
        "1": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei9",
        "8": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei15"
      },
      "topmiddle": {
        "9": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei25",
        "0": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei17",
        "7": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei23",
        "6": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei22",
        "5": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei21",
        "4": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei20",
        "3": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei19",
        "1": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei18",
        "8": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei24"
      },
      "topright": {
        "9": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei34",
        "0": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei26",
        "7": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei32",
        "6": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei31",
        "5": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei30",
        "4": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei29",
        "3": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei28",
        "1": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei27",
        "8": "3bb7548aed13e802133ca01e6311ef76758a162b63b12a2857cbf2f48a0bcb9ei33"
      }
    }


    function isNumberInRange(number) {
      let ranges = [
        "110880-112895",
        "249984-251999",
        "455616-457631",
        "538272-540287",
        "548352-550367"
      ];
      for (let range of ranges) {
        let [start, end] = range.split('-').map(Number);
        if (number >= start && number <= end) {
          return true;
        }
      }
      return false;
    }


    function hideUI() {
      // Hide form, title, and additional text
      document.getElementById('dmtForm').style.display = 'none';
      document.querySelector('h1').style.display = 'none';
      document.querySelectorAll('.additional-text').forEach(element => {
        element.style.display = 'none';
      });

      // Make the SVG container fullscreen and adjust styling for proper image fitting
      document.getElementById('svgContainer').style.position = 'fixed';
      document.getElementById('svgContainer').style.width = '100vw';
      document.getElementById('svgContainer').style.height = '100vh';
      document.getElementById('svgContainer').style.top = '0';
      document.getElementById('svgContainer').style.left = '0';
      document.getElementById('svgContainer').style.margin = '0';
      document.getElementById('svgContainer').style.padding = '0';
      document.getElementById('svgContainer').style.zIndex = '9999';
    }
    document.getElementById('generateButton').addEventListener('click', function(event) {
      event.preventDefault();
      const inputNumber = document.getElementById('numberInput').value;

      if (isNumberInRange(parseInt(inputNumber))) {
        clearSvgContainer();
        generateDMT(inputNumber);
        hideUI()
        document.getElementById('warning').innerHTML = ''
      } else {
        document.getElementById('warning').innerHTML = 'Please enter a valid 6-digit number.'

      }
    });

    function generateDMT(sixDigitNumber) {
      const baseUrl = '';
      let allSvgPaths = [
        'background/background',
        'lefteye/lefteye',
        'righteye/righteye',
        'nose/nose'
      ];

      addSpecialAndDivisibleLayers(sixDigitNumber, allSvgPaths);
      addDigitSpecificLayers(sixDigitNumber, allSvgPaths);


      renderSvgLayers(allSvgPaths, baseUrl);
    }

    function addSpecialAndDivisibleLayers(sixDigitNumber, allSvgPaths) {
      if (sixDigitNumber.includes("4849") || sixDigitNumber.includes("3839") || sixDigitNumber.includes("0150")) {
        allSvgPaths.push('SPECIAL/btclogo');
      } else if (sixDigitNumber.includes("8500")) { // Check for "8500" for aiblocks
        allSvgPaths.push('SPECIAL/aiblocks');
      }

      const ranges = [{
          min: 540367,
          max: 548352,
          file: '11'
        },
        {
          max: 457631,
          min: 455616,
          file: '13'
        },
        {
          max: 251999,
          min: 249984,
          file: '14'
        },
        {
          max: 112895,
          min: 110880,
          file: '15'
        }
      ];

      const numberValue = parseInt(sixDigitNumber, 10);

      const divisors = [{
          value: 42,
          folders: ['middleleft', 'middleright', 'bottomleft', 'bottomright', 'bottomleftsmall', 'bottomrightsmall']
        },
        {
          value: 21,
          folders: ['bottomleft', 'bottomright', 'bottomleftsmall', 'bottomrightsmall']
        },
        {
          value: 15,
          folders: ['middleleft', 'middleright', 'bottomleft']
        },
        {
          value: 14,
          folders: ['bottomleftsmall', 'bottomrightsmall', 'middleleft', 'middleright']
        },
        {
          value: 13,
          folders: ['bottomleftsmall', 'bottomrightsmall']
        },
        {
          value: 10,
          folders: ['middleleft', 'middleright', 'bottomright']
        },
        {
          value: 6,
          folders: ['middleleft', 'middleright', 'bottomleft', 'bottomright']
        },
        {
          value: 3,
          folders: ['bottomleft', 'bottomright']
        },
        {
          value: 2,
          folders: ['middleleft', 'middleright']
        }
      ];

      for (const divisor of divisors) {
        if (numberValue % divisor.value === 0) {
          divisor.folders.forEach(folder => {
            const lastDigit = (Math.floor(numberValue / divisor.value) % 10).toString();
            if (!['middleleft', 'middleright'].includes(folder) || (['middleleft', 'middleright'].includes(folder) && lastDigit !== '2')) {
              allSvgPaths.push(`${folder}/${lastDigit}`); // Corrected line
            }
          });
          break;
        }
      }

      let bottomMiddleFile = '';
      for (const range of ranges) {
        if (numberValue >= range.min && numberValue <= range.max) {
          bottomMiddleFile = `bottommiddle/${range.file}`; // Corrected line
          break;
        }
      }

      if (bottomMiddleFile) {
        allSvgPaths.push(bottomMiddleFile);
      }

    }

    function addDigitSpecificLayers(sixDigitNumber, allSvgPaths) {
      const digits = sixDigitNumber.toString().split('');
      const folders = ['topmiddle', 'face', 'topright', 'topleft', 'bottomright', 'bottomleft'];
      digits.forEach((digit, index) => {
        const path = `${folders[index]}/${digit}`; // Corrected line
        if (!path.endsWith('2')) {
          allSvgPaths.push(path);
        }
      });
    }

    function renderSvgLayers(allSvgPaths) {

      allSvgPaths.forEach(path => {
        const [folder, file] = path.split('/');
        const fileKey = file;
        const imgElement = document.createElement('img');

        if (inscriptiondata[folder] && inscriptiondata[folder][fileKey]) {
          const inscriptionId = inscriptiondata[folder][fileKey];
          imgElement.src = `/content/${inscriptionId}`; // Corrected line
        } else {
          console.error('No inscription data for:', path);
          return;
        }

        document.getElementById('svgContainer').appendChild(imgElement);
      });
    }

    function clearSvgContainer() {
      document.getElementById('svgContainer').innerHTML = '';
    }
  </script>
</body>

</html>
Image

Thorndyke

1 year ago

I don't think we're ready for this yet.. But it is here..
Owner Image

bc1ph...9g7gt

1 year ago

548745
Image

RahGold

1 year ago

teach me senpai
Owner Image

bc1py...zu7df

1 year ago

526952
Owner Image

bc1p0...a2aan

1 year ago

63181750
Owner Image

bc1py...zu7df

1 year ago

526952
Owner Image

bc1pj...h07jc

1 year ago

538945
Owner Image

bc1pj...h07jc

1 year ago

538970
Owner Image

irmisssima

1 year ago

someone explain this viewer?
Owner Image

kukuruza

1 year ago

Nattributes on top
  • ID

    2d387...b56i0

  • Owned By
  • File Type

    HTMLtext/html;charset=utf-8

  • File Size

    22.774 KB

  • Created

    March 10, 2024, 8:28 AM UTC

    1 year ago

  • Creation Block
  • Creation Transaction
  • Creation Fee

    111,416sats

  • Tags

    No tags yet

Sat

Recursive Modules