2018 New Year Repo Cleaning


#1

Happy 2018 Blockstackers! What better way to start off the New Year than with a squeaky clean Github organization that only has repos that work and are supported?

Let’s do some Github spring cleaning a few months early.

Some background on our Github structure:

We have both a main organization: https://github.com/blockstack
and an organization of deprecated repositories: https://github.com/blockstack-packages

When we no longer support or maintain repositories, we move them to https://github.com/blockstack-packages. Our goal is to avoid confusing developers who may try out a deprecated repo not realize that it doesn’t work as they thought.

I’ve gone through all of our repos and created a list of repos I think should be deprecated and those that we might want to consider reviving.

Proposed for Revival

It might make sense to have a go library that provides the ability for apps written in go to to verify an authentication response and possibly a wrapper to access functionality in blockstack.js, etc, but we don’t want another CLI and one that uses the RPC interface.



This is source code for https://blockstackstats.com which is ~1+ year out of date. We should consider updating it to show recent stats and if we choose not to then deprecate it.



I like the idea of a reading list. One person should own this and occasionally update it. Seems like the purview of developer evangelist or growth.



It looks like a number of people use this. There are outstanding issues and PRs that no one has addressed. If we want to support this, we should assign someone to it.

Proposed for Deprecation

Proofs are out of scope for our python code and handled by blockstack.js



Pay per idea? Are we doing this @patrick?


We should remove until we have settled on the direction of our mobile apps. I think we’re pretty close on this.


With our new architecture, JSON token should be out of scope for our python code.


This doesn’t use our current authentication format.



Does this still work? It uses language like “blockchain id” which makes me suspect it hasn’t been tried recently.



Keychain management is out of scope for our python code.



Profile management is out of scope for our python code.



These specs don’t really match up with what we have right now.



The derivation methods in this library are no longer used. We should move the keychain logic from the browser into blockstack.js.



I think this is in the blockstack core repo already. Am I right @jude @aaron?



This is an ios library for the old deprecated onename api.



This is an android library for the old deprecated onename api.



Neither blockstack.js nor browser look to be using this library. Are we using it somewhere else?


I’d love to hear your thoughts on this list! Please chime in below if you can answer any of the question I’ve asked above. Thanks!!


#2

I know that more people probably will use the blockstack.js library for login/authentication/etc, but it would still be great to use the python library. I didn’t know this repo existed at all. Would it take a major refactoring of the code to get it up to date?


#3

I’m fine with deprecating all of the repos you have marked as deprecated. The blockstack-tor repo is a PoC for using Blockstack IDs to point to .onion addresses. We can re-write it in Javascript without a problem.


#4

Deprecations

Lets :dagger: the repos you have marked deprecated. Also the Integration Tests stuff has been moved to blockstack-core so that repo can be eliminated. I also like removing the IOS and Android place holder repos. We can bring those back when we decide on mobile strategy. Also the names can be brought more in line with naming conventions.

Revivals

I really like the idea of better utilization of the go-blockstack repo. As an aside, golang has become one of the major server side languages in crypto. ETH uses golang extensively and there are a few major BTC companies also using Golang (Lightning and Bitfury come to mind). If we do decide to give that repo some more love I think we should rename it to blockstack.go to be more in keeping with naming conventions.

I could help out with the blockstack-stats and the reading-list repos. The reading-list repo might want to be reimagined. It is currently a distributed systems reading list. Perhaps we could also add a Cryptography section? Lets talk about the future there in the engineering meeting later this week.


#5

+1

+1 We should start with the public stats that we want to show and then go from there. Potentially we can spruce this repo up with a view that auto-updates every block.

+1

Yes this is actually a fairly popular library and we really need someone to take up the mantle on this.

+1 for all of these.

Take a look at this page: https://www.npmjs.com/package/elliptic-curve

There are many dependents on NPM that are outdated that need to be deprecated as well.