#!/usr/bin/env ruby # frozen_string_literal: true $LOAD_PATH.unshift(File.expand_path('../lib', __dir__)) require "bundler/setup" require "didkit" resolver = DIDKit::Resolver.new(nameserver: '8.8.8.8') begin query = ARGV[0].to_s if query =~ /^did\:/ did = DID.new(query) elsif query =~ /^@[\w\-]+(\.[\w\-]+)+$/ did = resolver.resolve_handle(query) else puts "Usage: #{$PROGRAM_NAME} <@handle> | " exit 1 end if did.nil? puts "Couldn't resolve handle #{query}" return end doc = did.get_document valid_handle = resolver.get_validated_handle(doc) puts puts "PDS: #{doc.pds_endpoint}" puts "Resolved by: #{did.resolved_by}" if did.resolved_by puts "Validated handle: " + (valid_handle ? "@#{valid_handle}" : "⚠️ invalid handle #{doc.handles.inspect}") puts puts JSON.pretty_generate(doc.json) rescue StandardError => e puts "Error: #{e}" end