Nemo's Parental Misguidance

    @govtechsg/dnsprove
    TypeScript icon, indicating that this package has built-in type declarations

    2.3.0 • Public • Published

    @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:

    [
      {
        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:

    DEBUG="dnsprove*" npm run test

    Types

    This library uses 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

    OpenAttestationDnsDidRecord

    IDNSRecord

    IDNSQueryResponse

    CustomDnsResolver

    Type: function (domain: string): Promise<IDNSQueryResponse>

    defaultDnsResolvers

    Type: Array<CustomDnsResolver>

    queryDns

    Parameters

    Returns Promise<IDNSQueryResponse>

    parseOpenAttestationRecord

    Parses one openattestation DNS-TXT record and turns it into an OpenAttestationsDNSTextRecord object

    Parameters

    • record 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

    Returns Array<OpenAttestationDNSTextRecord>

    parseDnsDidResults

    Parameters

    Returns Array<OpenAttestationDnsDidRecord>

    getDocumentStoreRecords

    Queries a given domain and parses the results to retrieve openattestation document store records if any

    Parameters

    Examples

    > getDocumentStoreRecords("example.openattestation.com")
    > [ { type: 'openatts',
    net: 'ethereum',
    netId: '3',
    addr: '0x2f60375e8144e16Adf1979936301D8341D58C36C',
    dnssec: true } ]

    Returns Promise<Array<OpenAttestationDNSTextRecord>>

    getDnsDidRecords

    Parameters

    Returns Promise<Array<OpenAttestationDnsDidRecord>>

    License

    MIT

    Install

    npm i @govtechsg/dnsprove

    DownloadsWeekly Downloads

    662

    Version

    2.3.0

    License

    Apache-2.0

    Unpacked Size

    61.8 kB

    Total Files

    23

    Last publish

    Collaborators

    • isomer.govtech
    • gyunikuchan
    • gds_ace_dlt
    • gdsbot
    • gylsky
    • ryanoolala
    • dyihoon90