Btcsuite: Code Migration and Btcd 0.10.0 Release

As many of you actively watching the btcd project are likely already aware, the project was recently migrated to a new organization on github named btcsuite. During this process, the core dependency packages were also combined into the main btcd repository.

Yeah, that’s me driving that truck … or at least it sure felt like it!

Why was the migration done?

The main motivation was that the entire btcd codebase is maturing to the point it deserves its own organization. We want to make it clear that the code is intended to be a community project and have multiple contributors. In addition, since the code was already being moved, we took the opportunity to combine several of the core package repositories into the main btcd repository which has several benefits discussed below.

Some benefits of these changes are:

Issue tracking is now consolidated into the btcd issue tracker and is therefore easier for all parties involved to stay on top of them

Pull requests that require changes in more than one of the core packages are now feasible which improves the QA loop since it allows the continuous integration builds to complete and provides a unified view of all relevant changes

Reconstructing older versions is now much easier to do

The initial download and compile of btcd is now faster since there are less repositories to download

Alt-coin developers who want to try out experimental features have a lot less work and renaming to do now since most of the core packages were renamed to names which do not include the btc prefix

Fetching updates to the btcd repository now also updates all of the core dependency packages which means it’s no longer possible for a user to unintentionally update btcd while not updating the core dependency packages

What about the cons?

The only notable con we can think of is the following:

When a 3rd-party wants to use one of the sub-packages, say the txscript package, they have to download the entire btcd repository instead of only the txscript repository. However, we don’t feel like this is a big issue since the resulting binary will only contain the necessary deps and nothing more. It’s simply a matter of binary maintainers downloading more data than they would have to with a different repo per package for the initial build.

Overview of New Package Locations and Names

All of the old packages have been moved from the Conformal organization to the btcsuite organization.

In addition, the following packages have been renamed and merged into the main btcd repository: