{"id":18857801,"url":"https://github.com/portalnetwork/contracts","last_synced_at":"2026-04-26T16:32:37.497Z","repository":{"id":112796868,"uuid":"154656782","full_name":"PortalNetwork/contracts","owner":"PortalNetwork","description":"Portal Network smart contracts","archived":false,"fork":false,"pushed_at":"2019-03-28T01:57:43.000Z","size":241,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-30T07:36:07.946Z","etag":null,"topics":["blockchain","ethereum","smart-contracts","solidity"],"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":null,"contributing":null,"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-10-25T11:06:52.000Z","updated_at":"2019-03-28T01:57:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"53d265b4-47c6-4a64-a734-5031852d717c","html_url":"https://github.com/PortalNetwork/contracts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PortalNetwork/contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fcontracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fcontracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fcontracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fcontracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PortalNetwork","download_url":"https://codeload.github.com/PortalNetwork/contracts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortalNetwork%2Fcontracts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32305035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"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","ethereum","smart-contracts","solidity"],"created_at":"2024-11-08T04:08:16.808Z","updated_at":"2026-04-26T16:32:37.492Z","avatar_url":"https://github.com/PortalNetwork.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portal Network Contracts\n\n## Prerequirement\n\n- Solidity: 0.4.24\n- Truffle\n- Ganache\n\n### Portal Network Token (PRT)\nPortal Network Token (PRT) is a requirement for Portal Network’s blockchain name service to be decentralized, scalable and operate across different protocols. It will fuel the adoption of its BNS standard through built-in incentives for stakeholders, and will be the access gate to Portal Network’s additional services like MUMEI and KAIZEN. PRT tokens are fungible, ERC20-based Ethereum Tokens.  \n  \nAn ERC20 standard token, built using the [OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-solidity) framework.\n\n#### Information\n- Name: Portal Network Token\n- Symbol: PRT\n- Decimals: 18\n- Total Supply: 1000000000\n\n### Universal Registrar\nUniversal Registrar contract is to register a blockchain name service, it using Vickrey auction with the bidding flow.\n\n#### Vickrey Auction\nWith Universal Registrar, is implement the secret auction with Portal Network Token contract, the Portal Network Token contract is the pool for check the bidding price, and it can be check at reveal period, this action wont expose the real bid price of the sealed bid.\n\n### Universal Registry\nUniversal Registry is to set the blockchain name service owner, ttl and subdomain.\n\n## Contract\n\n- NameRegex.sol: https://ropsten.etherscan.io/tx/0x8a4746ad8743d267f0adea902e53eb6ea31f1bbae3a6218fb2f81dcd8d2a25e6\n- ProtocolRegex.sol: https://ropsten.etherscan.io/tx/0xe4fa1ea2bfe7d748744bb4e9612e65185af992e76f1c2ce5abf8c20507528584\n- UniversalRegistry.sol: https://ropsten.etherscan.io/tx/0xe5831343854b0be0384eef2fa63332d8a554e1532593d7f2c0072a67702f26c9\n- UniversalRegistrar.sol: https://ropsten.etherscan.io/tx/0x7835695e50d494a9753bbbb24e91b8f72d410225e353f633985d006c565a4cdf\n- PortalNetworkToken.sol: https://ropsten.etherscan.io/tx/0x7caafab84e2a293e3756b09df1e40b7b6b5063ebf3c55c132140f293c0090f52\n\n\n| Network    | Contract Name      | Contract address                                   | Transaction hash\n|------------|--------------------|----------------------------------------------------|---------------------\n| Ropsten    | NameRegex          | [0xba267219f38f5eaec6b20902f6684b1c8f0de70e](https://ropsten.etherscan.io/address/0xba267219f38f5eaec6b20902f6684b1c8f0de70e) | [0x8a4746ad8743d267f0adea902e53eb6ea31f1bbae3a6218fb2f81dcd8d2a25e6](https://ropsten.etherscan.io/tx/0x8a4746ad8743d267f0adea902e53eb6ea31f1bbae3a6218fb2f81dcd8d2a25e6)\n| Ropsten    | ProtocolRegex      | [0x2bab9f0a7d21ae8fb35af5a88eacc66cfdbc541a](https://ropsten.etherscan.io/address/0x2bab9f0a7d21ae8fb35af5a88eacc66cfdbc541a) | [0xe4fa1ea2bfe7d748744bb4e9612e65185af992e76f1c2ce5abf8c20507528584](https://ropsten.etherscan.io/tx/0xe4fa1ea2bfe7d748744bb4e9612e65185af992e76f1c2ce5abf8c20507528584)\n| Ropsten    | UniversalRegistry  | [0x76827857ac0c927690477c9d6667ffafc57247db](https://ropsten.etherscan.io/address/0x76827857ac0c927690477c9d6667ffafc57247db) | [0xe5831343854b0be0384eef2fa63332d8a554e1532593d7f2c0072a67702f26c9](https://ropsten.etherscan.io/tx/0xe5831343854b0be0384eef2fa63332d8a554e1532593d7f2c0072a67702f26c9)\n| Ropsten    | UniversalRegistrar | [0xf576c44b9bc18c8030fa2fe62e1fe1e03e280abc](https://ropsten.etherscan.io/address/0xf576c44b9bc18c8030fa2fe62e1fe1e03e280abc) | [0x7835695e50d494a9753bbbb24e91b8f72d410225e353f633985d006c565a4cdf](https://ropsten.etherscan.io/tx/0x7835695e50d494a9753bbbb24e91b8f72d410225e353f633985d006c565a4cdf)\n| Ropsten    | PortalNetworkToken | [0x6a3818ceea34bcf9f95b34b5f90e02071f4e757c](https://ropsten.etherscan.io/address/0x6a3818ceea34bcf9f95b34b5f90e02071f4e757c) | [0x7caafab84e2a293e3756b09df1e40b7b6b5063ebf3c55c132140f293c0090f52](https://ropsten.etherscan.io/tx/0x7caafab84e2a293e3756b09df1e40b7b6b5063ebf3c55c132140f293c0090f52)\n\n## Development\n\n### Dependency\n- [node.js](https://nodejs.org/en/)\n- [Ganache-cli](https://github.com/trufflesuite/ganache-cli)\n- [Truffle](http://truffleframework.com/docs/getting_started/installation)\n\n### Installation\n\nMacOS installation\n```\nbrew install node\nnpm i -g ganache-cli\nnpm i -g truffle\n```\n\n### Running Test Cases\n\nStart ganache and create `1001` accounts for testing\n\n```\nganache-cli -a 1001\n```\n\nTest smart contracts\n\n```\ntruffle compile\ntruffle migrate\ntruffle test\n```\n\n## Code Coverage\n\nWe use [solidity-coverage](https://www.npmjs.com/package/solidity-coverage) for the code coverage of smart contracts.\n\n### Running Code Coverage \n\nRun the command below.\n```\n./node_modules/.bin/solidity-coverage\n```\n\nAlso can check the code coverage report, [HERE](./COVERAGE.md)\n\n## Reference\n- [Truffle documentation](http://truffleframework.com/docs/)\n- [Solidity Regex](https://github.com/gnidan/solregex)\n- [Solidity String Utils](https://github.com/Arachnid/solidity-stringutils/)\n\n## License\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportalnetwork%2Fcontracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fportalnetwork%2Fcontracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fportalnetwork%2Fcontracts/lists"}