Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ZNS

The Zilliqa Name Service (ZNS) is a suite of smart contracts to make a naming system like DNS on the blockchain. ZNS connects the familiar and powerful name system mechanics to blockchain assets like addresses, websites and application data, as well as traditional dns records.

Getting Started

Requirements

  • Docker required
  • Node.js and Yarn are required as well.

Installing

yarn install

Testing

Tests run against standalone zilliqa development node. You will need to install Docker before.

Run zilliqa development node

Note: don't forget to perform docker login to be able to pull unstoppabledomains/zilliqa-dev-node image

yarn zilliqa:start

It's requires keep port 5555 open on local machine. If port already occupied - you may have zilliqa-dev-node already run. You can check this via command below.

Check node status

docker ps

You should see similar output if node was ran. Almost each docker command requires CONTAINER ID. Container id generates automatically on each docker run:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab2b677fd8f us-central1-docker.pkg... "/usr/local/bin/isol…" 11 minutes ago Up 11 minutes 0.0.0.0:5555->5555/tcp mystifying_wright

Run test suite

yarn test

Stop zilliqa development node

yarn zilliqa:stop

Get logs from zilliqa development node

docker logs <CONTAINER ID>

Run node in foreground to get real-time logs on screen

docker run -p 5555:5555 us-central1-docker.pkg.dev/unstoppable-domains/zilliqa/zilliqa-dev-node

Build zilliqa-dev-node

You may need to rebuild docker image for zilliqa development node.

cd docker/build
docker build . -t zilliqa-dev-node

And run your brand new docker image:

docker run -p 5555:5555 zilliqa-dev-node

Push new zilliqa-dev-node image

To build & push a new version of node image use Build & Push Zilliqa Dev Node GitHub Action.

For an introduction to Zilliqa and Scilla and some of the design considerations look at the Zilliqa Reference.

There are 3 ZNS contract variants.

  • Registry – This contract where the ZNS names are stored. Registry mechanics are explained in detail in the Registry Reference.

  • Resolvers – In order to keep the size of the main ZNS contract low, the ZNS resolution is stored in separate contracts called Resolvers. Resolvers mechanics are explained in detail in the Resolvers Reference.

  • Registrars – These contracts manage the registration of new ZNS names. ZNS has 2 of them. An auction registrar, which implements open, ascending price, variable length auction. And a simple registrar listing all names for a fixed price designed to be put in place after the initial auction period. Registrar mechanics are explained in detail in the Registrar Reference.

License

About

Zilliqa Naming Service

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages