# dnsprove **Repository Path**: cbtorg/dnsprove ## Basic Information - **Project Name**: dnsprove - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-30 - **Last Updated**: 2021-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @open-attestation/dnsprove A helper library to retrieve OpenAttestation DNS-TXT records from domains using Google's public DNS service A valid OpenAttestation DNS-TXT record looks like: ```js [ { name: "example.openattestation.com.", type: 16, TTL: 110, data: '"openatts net=ethereum netId=3 addr=0x2f60375e8144e16Adf1979936301D8341D58C36C"' } ] ``` Validation is run on all retrieved records to ensure they conform to the expected format, and records that fail validation will simply be omitted from the returned results. To see validation failures run the library with the debug flag turned on, either In Browser: `localStorage.debug="dnsprove*"` In NodeJS: ```sh DEBUG="dnsprove*" npm run test ``` ## Types This library uses [runtypes](https://github.com/pelotom/runtypes) for compile time static type checking as well as run time input validation. The generated documentation below is inaccurate for any Runtypes generated types due to documentation generator limitations. ## API #### Table of Contents * [OpenAttestationDNSTextRecord](#openattestationdnstextrecord) * [OpenAttestationDnsDidRecord](#openattestationdnsdidrecord) * [IDNSRecord](#idnsrecord) * [IDNSQueryResponse](#idnsqueryresponse) * [queryDns](#querydns) * [Parameters](#parameters) * [parseOpenAttestationRecord](#parseopenattestationrecord) * [Parameters](#parameters-1) * [parseDocumentStoreResults](#parsedocumentstoreresults) * [Parameters](#parameters-2) * [parseDnsDidResults](#parsednsdidresults) * [Parameters](#parameters-3) * [getDocumentStoreRecords](#getdocumentstorerecords) * [Parameters](#parameters-4) * [Examples](#examples) * [getDnsDidRecords](#getdnsdidrecords) * [Parameters](#parameters-5) ### OpenAttestationDNSTextRecord ### OpenAttestationDnsDidRecord ### IDNSRecord ### IDNSQueryResponse ### queryDns #### Parameters * `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>>** ### parseOpenAttestationRecord Parses one openattestation DNS-TXT record and turns it into an OpenAttestationsDNSTextRecord object #### Parameters * `record` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** e.g: '"openatts net=ethereum netId=3 addr=0x0c9d5E6C766030cc6f0f49951D275Ad0701F81EC"' Returns **GenericObject** ### parseDocumentStoreResults Takes a DNS-TXT Record set and returns openattestation document store records if any #### Parameters * `recordSet` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** Refer to tests for examples (optional, default `[]`) Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDNSTextRecord](#openattestationdnstextrecord)>** ### parseDnsDidResults #### Parameters * `recordSet` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** (optional, default `[]`) Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDnsDidRecord](#openattestationdnsdidrecord)>** ### getDocumentStoreRecords Queries a given domain and parses the results to retrieve openattestation document store records if any #### Parameters * `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** e.g: "example.openattestation.com" #### Examples ```javascript > getDocumentStoreRecords("example.openattestation.com") > [ { type: 'openatts', net: 'ethereum', netId: '3', addr: '0x2f60375e8144e16Adf1979936301D8341D58C36C', dnssec: true } ] ``` Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDNSTextRecord](#openattestationdnstextrecord)>>** ### getDnsDidRecords #### Parameters * `domain` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[OpenAttestationDnsDidRecord](#openattestationdnsdidrecord)>>** ## License MIT