2018-03-22 Engineering Meeting

2018-03-22 Engineering Meeting

Date/Time: 2018-03-22 @ 13:00 UTC / 09:00 EDT / 21:00 HKT
Length: 45 minutes
Meeting link: https://zoom.us/j/416493133

Attendees

  • Larry
  • Jack
  • Aaron
  • Chase
  • Jeff
  • Muneeb
  • Jude
  • PJ Shankarganesh
  • Ken

Agenda Item: Blockstack Browser PRs

What are people’s bandwidths for reviewing the various changes on Blockstack Browser?
Basically, I’ve opened three PRs:

They enable:

  1. client-side bitcoin spends
  2. a warning when a user has a pending registration and goes to spend BTC or issue another registration
  3. turn on BTC spends/registrations in Windows, Webapp, and disable communication with local core endpoint on macOS

Desired Outcome
I want people to tell me they’ll review those PRs :wink:

Notes
Larry has reviewed one.

Larry & Ken are tight on reviewing bandwidth because of mobile SDK.

Chase will help review.

We can ask community members to review. (Create an issue)

We need to look into letting people get read only access to our organization. (Create an issue)

Agenda Item: Potential Engineering Tasks for Next Sprint

Something we’ve haven’t done a great job of in the last few engineering meetings is leaving with a list of tasks that are achievable in the next sprint (which was, I think, one of the original goals of these meetings).
I think we should discuss items we think are tackle-able for the next browser sprint (focusing not so much on how we’d achieve those items, but more on just what those items are), with the desired outcome being a list of items which we can then prioritize in the next sprint meeting.
My proposed list:

Gaia hub configurability in the Browser

This would allow users to specify their own hub to use. For an idea on the work required here:

$ find app -name \*js -type f -exec grep 'gaia.blockstack.org\|hub.blockstack.org' {} /dev/null \;
app/js/auth/components/AuthModal.js:      const gaiaUrlBase = 'https://gaia.blockstack.org/hub'
app/js/auth/components/AuthModal.js:            getAppBucketUrl('https://hub.blockstack.org', appPrivateKey)
app/js/account/store/settings/default.js:  gaiaHubUrl: 'https://hub.blockstack.org',
app/js/profiles/AllProfilesPage.js:    const profileUrlBase = `https://gaia.blockstack.org/hub/${gaiaBucketAddress}`
app/js/profiles/components/registration/RegistrationSearchView.js:    const profileUrl = `https://gaia.blockstack.org/hub/${gaiaBucketAddress}/${identityIndex}/profile.json`
app/js/profiles/store/identity/actions.js:            return fetchProfileLocations('https://gaia.blockstack.org/hub',

Account import / sweep functionality
This would allow users to input a private key, and then the browser would issue a RENEW transaction that sweeps the name into the next identity address, with a correct zonefile. This could be used to recover names which have old or incorrect zonefiles, names which are owned on the CLI, etc.

Allow the user to choose the namespace
Right now, names are registered to .id by default. However, one of the easiest monetization paths for developers is to create their own namespaces and reap name registration fees. The browser needs to be able to allow a user to register in any existing namespace.

Support for STACKs transactions
I’m in the middle of patching blockstack.js's client-side transaction code to send NAMESPACE_PREORDERs, NAME_PREORDERs, and NAME_RENEWALs that burn STACKs instead of BTC when registering names in STACKs-payable namespaces. I expect this will be done either by the end of this sprint or early next sprint.
However, there is still some integration work to do in the browser. In particular, the user needs to see their STACKs balance, and needs to be told how many STACKs they’ll be debited when they buy a name.

Execute on On-boarding Screens

This is work on the javascript version of the browser.
Jeff: I’m going to be lobbying for time to build (or prototype) this — and so will want to clear people’s time for working on this.

Forward Progress on Collections
Larry: this seems like something important to developers

Documentation for Blockchain Design

  • Roadmap and initial designs

Questions and Feedback from Community

Shankarganesh:

Q1: Is there progress or a timeline for collections?

A1: We would like to make some progress on this, but we don’t have a timeline yet.
@Chase W : this may not actually be a perfect use case for collections, but more likely a private sharing between apps.

Q2: Can we use blockstack at meetups or hackathons?

A2: We are happy to help out or assist any community members interested in this.

3 Likes

Agenda Item: Blockstack Browser PRs

What are people’s bandwidths for reviewing the various changes on Blockstack Browser?

Basically, I’ve opened three PRs:

They enable:

  1. client-side bitcoin spends
  2. a warning when a user has a pending registration and goes to spend BTC or issue another registration
  3. turn on BTC spends/registrations in Windows, Webapp, and disable communication with local core endpoint on macOS

Desired Outcome

I want people to tell me they’ll review those PRs :wink:

Agenda Item: Potential Engineering Tasks for Next Sprint

Something we’ve haven’t done a great job of in the last few engineering meetings is leaving with a list of tasks that are achievable in the next sprint (which was, I think, one of the original goals of these meetings).

I think we should discuss items we think are tackle-able for the next browser sprint (focusing not so much on how we’d achieve those items, but more on just what those items are), with the desired outcome being a list of items which we can then prioritize in the next sprint meeting.
My proposed list:

Gaia hub configurability in the Browser

This would allow users to specify their own hub to use. For an idea on the work required here:

$ find app -name \*js -type f -exec grep 'gaia.blockstack.org\|hub.blockstack.org' {} /dev/null \;
app/js/auth/components/AuthModal.js:      const gaiaUrlBase = 'https://gaia.blockstack.org/hub'
app/js/auth/components/AuthModal.js:            getAppBucketUrl('https://hub.blockstack.org', appPrivateKey)
app/js/account/store/settings/default.js:  gaiaHubUrl: 'https://hub.blockstack.org',
app/js/profiles/AllProfilesPage.js:    const profileUrlBase = `https://gaia.blockstack.org/hub/${gaiaBucketAddress}`
app/js/profiles/components/registration/RegistrationSearchView.js:    const profileUrl = `https://gaia.blockstack.org/hub/${gaiaBucketAddress}/${identityIndex}/profile.json`
app/js/profiles/store/identity/actions.js:            return fetchProfileLocations('https://gaia.blockstack.org/hub',

Account import / sweep functionality

This would allow users to input a private key, and then the browser would issue a RENEW transaction that sweeps the name into the next identity address, with a correct zonefile. This could be used to recover names which have old or incorrect zonefiles, names which are owned on the CLI, etc.

More Potential Engineering Items

Allow the user to choose the namespace

Right now, names are registered to .id by default. However, one of the easiest monetization paths for developers is to create their own namespaces and reap name registration fees. The browser needs to be able to allow a user to register in any existing namespace.

EDIT: Issue here: https://github.com/blockstack/blockstack-browser/issues/1247

Support for STACKs transactions

I’m in the middle of patching blockstack.js's client-side transaction code to send NAMESPACE_PREORDERs, NAME_PREORDERs, and NAME_RENEWALs that burn STACKs instead of BTC when registering names in STACKs-payable namespaces. I expect this will be done either by the end of this sprint or early next sprint.

However, there is still some integration work to do in the browser. In particular, the user needs to see their STACKs balance, and needs to be told how many STACKs they’ll be debited when they buy a name.

EDIT: issue here: https://github.com/blockstack/blockstack-browser/issues/1257