{"id":18857738,"url":"https://github.com/portalnetwork/qcns","last_synced_at":"2026-02-08T17:32:45.251Z","repository":{"id":112797986,"uuid":"144861908","full_name":"PortalNetwork/qcns","owner":"PortalNetwork","description":"📘🌐 Documents and implementations for the QuarkChain Name Service.","archived":false,"fork":false,"pushed_at":"2018-12-05T06:38:26.000Z","size":4543,"stargazers_count":3,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-23T02:38:36.623Z","etag":null,"topics":["blockchain","qcns","quarkchain"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PortalNetwork.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-15T14:14:32.000Z","updated_at":"2018-12-05T06:38:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5682208-74cc-47c8-a8b8-4e42a4c300c5","html_url":"https://github.com/PortalNetwork/qcns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PortalNetwork/qcns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fqcns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fqcns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fqcns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fqcns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PortalNetwork","download_url":"https://codeload.github.com/PortalNetwork/qcns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fqcns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29238330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T14:18:14.570Z","status":"ssl_error","status_checked_at":"2026-02-08T14:18:14.071Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","qcns","quarkchain"],"created_at":"2024-11-08T04:07:55.223Z","updated_at":"2026-02-08T17:32:45.236Z","avatar_url":"https://github.com/PortalNetwork.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![QuarkChain Name Service](./assets/title.jpg)\n\n\u003e 📖🔍 Documents of the QuarkChain Name Service.\n\n## 💡 What is QuarkChain?\nQuarkChain is a secure, permission-less, scalable, and decentralized blockchain. One of the goals of QuarkChain is to utilize sharding technology to deliver over 1 million transactions per second (tps). Essentially, QuarkChain markets itself as a peer-to-peer blockchain with a high capacity throughput to help deliver fast and secure decentralized applications.\n\n## 💡 What is BNS?\nBNS – or blockchain name system – is the protocol on the internet that turns human-comprehensible decentralized website names such as ‘website.perl’ or ‘mywebsite.eth’ into addresses understandable by decentralized network machines.\n\n## 📝 Description\n\nQCNS is the QuarkChain Name Service, a distributed, open, and extensible naming system based on the QuarkChain blockchain.\n\n## 📚 Documents\n\n#### Table of Contents\n-  [Introduction](./docs/INTRODUCTION.md)\n-  [Implementation](./docs/IMPLEMENTATION.md)\n    - [Registry](./docs/REGISTRY.md)\n    - [Registrar](./docs/REGISTRAR.md)\n    - [Resolver](./docs/RESOLVER.md)\n-  [Integration](./docs/INTEGRATION.md)\n\n## 📝 Guideline\n- [Smart Contract Deploy](./docs/SMART_CONTRACT_DEPLOY.md)\n- [Smart Contract Testing](./qcns/README.md)\n- [Smart Contract Design Principle](./docs/SMART_CONTRACT_DESIGN_PRINCIPLE.md)\n\n## Testnet Contract\n| Network    | Contract Name | Contract address                                   | Transaction hash\n|------------|---------------|----------------------------------------------------|---------------------\n| Testnet    | QCNS Registry | [0x4b94640a5503f59f5A7a263769eFC1a4692CCD03f05d8fc2](http://testnet.quarkchain.io/address/0x4b94640a5503f59f5A7a263769eFC1a4692CCD03f05d8fc2) | [0x7f3c6d3ec6d4cb0c7aa682d7068510b99a76cdb214d8a43d36287eb999b39f34f05d8fc2](http://testnet.quarkchain.io/tx/0x7f3c6d3ec6d4cb0c7aa682d7068510b99a76cdb214d8a43d36287eb999b39f34f05d8fc2)\n| Testnet    | QCNS Registrar | [0xC51abE3eFC8A0fCb1f5BE597c6fAc4500ddCA7C4f05d8fc2](http://testnet.quarkchain.io/address/0xC51abE3eFC8A0fCb1f5BE597c6fAc4500ddCA7C4f05d8fc2) | [0xecf50524c1a15b5f5baba17b38148522d23971817c3587936148919fb99bf8c4f05d8fc2](http://testnet.quarkchain.io/tx/0xecf50524c1a15b5f5baba17b38148522d23971817c3587936148919fb99bf8c4f05d8fc2)\n| Testnet    | QCNS Resolver | [0xdd3CE9c4a87F071Df95b7c4357dBEA90D908faD0f05d8fc2](http://testnet.quarkchain.io/address/0xdd3CE9c4a87F071Df95b7c4357dBEA90D908faD0f05d8fc2) | [0x8637ff1145506e13cbd5b2e83312d1fc85c7c0a70d1444fa4a3b4c5005d24308f05d8fc2](https://testnet.quarkchain.io/tx/0x8637ff1145506e13cbd5b2e83312d1fc85c7c0a70d1444fa4a3b4c5005d24308f05d8fc2)\n\n## 📝 QCNS in Web3.0\nQCNS plays an connecting and entry layer in Web3.0 services. It connects with QuarkChain wallet, blockchain server, decentralized content resources, and decentralized database.\n![QCNS](./assets/QCNS.png)\n\n## QuarkChain Technical Stack\nQuarkChain is a high-throughput blockchain that aims to achieve hundreds of thousands TPS (Transaction per Second) through the sharding technology. It is designed to provide secure, decentralized, and scalable solution for future dApps. QuarkChain Name Service (QCNS) will be built upon QuarkChain that will interact with each of its stack layer differently.\n![QuarkChain Tech Stack](./assets/QuarkChain-layer.png)\n\n### State Layer\nState layer is where QuarkChain's user “state”, or user information and behavior, is stored. It is where users have the ability to control their own state.\n![QuarkChain Tech Stack](./assets/QuarkChain-state.png)\n\n### Computation Layer\nQuarkChain uses EVM (Ethereum Virtual Machine) in its computation layer, which is responsible for executing complicated calculations. It is in charge of managing, checking the code of smart contract on QuarkChain. For instance, when a transaction occurs, the logic designed in EVM will determine its path that cannot be altered, making the smart contracts on QuarkChain immutable and temper-proof. Portal Network will be deploying QCNS (Smart Contract Standard) on this layer that consists 3 major components.\n![QuarkChain Tech Stack](./assets/QuarkChain-computation.png)\n\n### Component Layer\nThe design of digital assets can have more functions through combing the State Layer and Computation Layer, such as : crypto assets, and identities. Those programmable assets has many more potential usages and sub-economies within. QCNS includes three major component: a `registry`, a `registrar`, and a `resolver`.\n\nA `registry` component stores all the information relative to a domain, and can operate the set of logics to map between the QuarkChain domains and its owners.\nA `registrar` component governs the domain purchase through the customized auction or trading rules.\nA `resolver` component processes the corresponding resources from wallet address to decentralized application or website on QuarkChain.\n![QuarkChain Tech Stack](./assets/QuarkChain-component.png)\n\n### Protocol Layer\nOn the Protocol Layer, we will be presenting our BNS (Blockchain Name Service) standards that can make the QCNS more efficient and applicable. This layer integrate the logic behind QCNS (computation layer and component layer), and presents a gateway for users and developers to use and interact.\n![QuarkChain Tech Stack](./assets/QuarkChain-protocol.png)\n\n### User Control Layer\nUser control layer is in charge of managing private keys to communicate with the state layer. QCNS is completely decentralized, and governed by smart contracts, which allows users to have full control over their domains. Users can control, set up, and manage their digital asset with an easier and readable text.\n![QuarkChain Tech Stack](./assets/QuarkChain-user.png)\n\n### Application Layer\nQCNS can be easily implemented into any of the services or application on QuarkChain who wish to make decentralized user experience better. For instance, wallet that can resolve QCNS will allow users to easily send or receive QuarkChain Token (QKC); dApp that utilize QCNS will enable users to have their own digital identity that are more meaningful and valuable. We believe that QCNS is an essential components to provide a better environment for both technical and non-technical users. \n![QuarkChain Tech Stack](./assets/QuarkChain-app.png)\n\n## ⚙️ QCNS smart contract test coverage\n__Continuous updating__\n- [Coverage Report](./tns/coverage/)\n\n```\nLaunched testrpc on port 8555\nRunning: truffle test\n(this can take a few seconds)...\nUsing network 'development'.\n\n\n\n  Contract: QCNS\n    ✓ should allow registration of names (96ms)\n    ✓ should register a domain (122ms)\n    ✓ should check resolver interfaces (103ms)\n    ✓ should not support a random interface\n    ✓ should set resolver for node (139ms)\n    ✓ should set text (197ms)\n    ✓ should set address (179ms)\n    ✓ should set multihash (187ms)\n\n\n  8 passing (3s)\n\n--------------------|----------|----------|----------|----------|----------------|\nFile                |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |\n--------------------|----------|----------|----------|----------|----------------|\n contracts/         |       75 |       50 |       76 |     77.5 |                |\n  QCNS.sol          |      100 |      100 |      100 |      100 |                |\n  QCNSRegistrar.sol |      100 |       50 |      100 |      100 |                |\n  QCNSRegistry.sol  |    78.57 |       50 |    77.78 |       80 |       68,69,96 |\n  QCNSResolver.sol  |    66.67 |       50 |    69.23 |    68.42 |... ,98,129,140 |\n--------------------|----------|----------|----------|----------|----------------|\nAll files           |       75 |       50 |       76 |     77.5 |                |\n--------------------|----------|----------|----------|----------|----------------|\n\nIstanbul coverage reports generated\nCleaning up...\nShutting down testrpc-sc (pid 87275)\nDone.\n```\n\n## Resources\n- [Official Website](https://quarkchain.io)\n- [Testnet](https://testnet.quarkchain.io)\n- [Developer API](https://developers.quarkchain.io/#introduction)\n\n## 📣 Contributing\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for how to help out.\n\n## 🗒 Licence\nSee [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportalnetwork%2Fqcns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fportalnetwork%2Fqcns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportalnetwork%2Fqcns/lists"}