Skip to content

A taxonomy for open source cryptocurrency, blockchain, and decentralized ecosystems

License

Notifications You must be signed in to change notification settings

electric-capital/crypto-ecosystems

Repository files navigation

🌲 Crypto Ecosystems

Crypto Ecosystems is a taxonomy of open source blockchain, web3, cryptocurrency, and decentralized ecosystems and their code repositories.

This dataset is not complete, and hopefully it never will be as there are new ecosystems and repositories created every day.

How to use this taxonomy

The taxonomy can be used to generate the set of crypto ecosystems, their corresponding sub ecosystems, and repositories at a particular time.

You can export the taxonomy to a json format by using the following command:

./run.sh export exports.jsonl

If you want to export a single ecosystem, its sub ecosystems, and its repositories, you can use the -e parameter to specify a particular ecosystem.

./run.sh export -e Bitcoin bitcoin.jsonl

The export format is one json entry per line like the following:

{"eco_name":"Bitcoin","branch":["Lightning"],"repo_url":"https://github.com/alexbosworth/balanceofsatoshis","tags":["#developer-tool"]}
{"eco_name":"Bitcoin","branch":["Lightning"],"repo_url":"https://github.com/bottlepay/lnd","tags":[]}

By using the branch attribute, you can see how particular repos are attributed to the parent ecosystem.

How to update the taxonomy

There is a domain specific language (DSL) containing the keywords that can make changes to the taxonomy. You specify migrations by using files of the format

migrations/YYYY-MM-DDThhmmss_description_of_your_migration

The datetime format is a loosely ISO8601 but without the ':' characters to make them valid files on Windows.

Some examples migration filenames could be:

migrations/2009-01-03T181500_add_bitcoin
migrations/2015-07-30T152613_add_ethereum

Simply create your new migration and add changes to the taxonomy using the keywords discussed below.

Data Format

Example: Adding an ecosystem and connecting it.

-- Add ecosystems with the ecoadd keyword.  You can start a line with -- to denote a comment.
ecoadd Lightning
-- Add repos to ecosystems using the repadd keyword
repadd Lightning https://github.com/lightningnetwork/lnd #protocol
-- Connect ecosystems using the ecocon keyword.
-- The following connects Lighting as a sub ecosystem of Bitcoin.
ecocon Bitcoin Lighting

How to Give Attribution For Usage of the Electric Capital Crypto Ecosystems

The repository is licensed under MIT license with attribution.

To use the Electric Capital Crypto Ecosystems Map in your project, you will need an attribution.

Attribution needs to have 3 components:

  1. Source: “Electric Capital Crypto Ecosystems”
  2. Link: https://github.com/electric-capital/crypto-ecosystems
  3. Logo: Link to logo

Optional: Everyone in the crypto ecosystem benefits from additions to this repository. It is a help to everyone to include an ask to contribute next to your attribution.

Sample request language: "If you’re working in open source crypto, submit your repository here to be counted."

Sample attribution

Data Source: Electric Capital Crypto Ecosystems

If you’re working in open source crypto, submit your repository here to be counted.

Thank you for contributing and for reading the contribution guide! ❤️