Blockstack-cli lookup of subdomain gives errors


#1

Hi @jude, I wanted to report some errors when performing lookup on a subdomain with the new blockstack-cli.

Here’s the error report:

$ blockstack-cli lookup jef.reggi1.id
TypeError: Cannot read property ‘hasOwnProperty’ of null
at /Users/jefvanbockryck/cli-blockstack/lib/cli.js:247:18
at tryCatcher (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:693:18)
at Promise._fulfill (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:638:18)
at PromiseArray._resolve (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise_array.js:126:19)
at PromiseArray._promiseFulfilled (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise_array.js:144:14)
at Promise._settlePromise (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:574:26)
at Promise._settlePromise0 (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/Users/jefvanbockryck/cli-blockstack/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:794:20)
Cannot read property ‘hasOwnProperty’ of null


#2

Knowing that this user id is properly displaying in my blockstack browser and resolves well with the blockstack explorer :smile: .


#3

Working on my end:

$ blockstack-cli lookup jef.reggi1.id
{
  "zonefile": "$ORIGIN jef\n$TTL 3600\n_https._tcp URI 10 1 \"https://gaia.blockstack.org/hub/1FztQk6mdArrQqs5wwKu1SkzETcvGeSVNk/profile.json\"\n",
  "profile": {
    "@type": "Person",
    "@context": "http://schema.org",
    "name": "Jef Main Tester or So",
    "image": [
      {
        "@type": "ImageObject",
        "name": "avatar",
        "contentUrl": "https://gaia.blockstack.org/hub/1FztQk6mdArrQqs5wwKu1SkzETcvGeSVNk//avatar-0"
      }
    ],
    "apps": {
      "https://www.stealthy.im": "https://gaia.blockstack.org/hub/1NQLCsbuS9PLDQZf7cTsLsNX9HRMnVDipy/"
    }
  }
}

If it’s showing up on the explorer, it means that all the off-chain state has replicated to Blockstack’s peer network. Does the CLI work for you at this point?


#4

Hi @jude, yes it works now with blockstack-cli.

I noticed there’s a period after about 9 confirmations that not everything is completely synced, I guess.

My next step is to do a batch of subdomain registrations. But the documentation doesn’t tell me a lot about the steps I need to do for that. Can you recommend some writing about this?


#5

Hey @jefvanbockryck,

You should be able to send as many subdomain registration requests to your subdomain registrar as you want. It will only “flush” them once it has filled a zone file, or once a certain amount of time passes (whichever happens sooner). See this README.md for details on how to do this. You can configure the timeout from the config file by adding a "batchDelayPeriod" set to the (floating-point) number of minutes between sending transactions.