Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

The Bitcoin Hole - Bitcoin Books

Introduction

This repository goal is to have the more complete database of Bitcoin books, so they can be compared, helping users to choose wisely. The database is open-source, meaning anyone can collaborate to improve and correct any wrong data or add new items.

Collaboration

Inside the items directory, there is a JSON file for each book, with all the data about it. To collaborate (adding missing data, fixing wrong data or adding a new book), just fork the repository and send a pull request with the changes.

Before sending the pull request, please run the following commands to format the JSON:

cd scripts/
node json-format.js

JSON format

The following is a sample of the JSON format:

{
    "id": "book-id",
    "name": "Book Name",
    "purchasable": true,
    "category-name": {
      "feature-name-1": {
        "value": "YES", 
        "flag": "positive",
        "supported": true,
        "texts": [
          "Optional contextual text describing the feature"
        ],
        "links": [
          {
            "title": "Optional contextual link referencing official documentation",
            "url": "url"
          }
        ]
      },
      "feature-name-2": {
        "value": "Experimental",
        "flag": "neutral",
        "supported": true
      },
      "feature-name-3": {
        "value": "NO",
        "flag": "negative",
        "supported": false
      }
    }
}

JSON fields:

Field Type Required Description
id string true The book id. It matches with the JSON file name.
name string true The book name.
purchasable boolean true If the book can be purchased
category-name.feature-name-1.value string yes The visible feature value. For example: "YES", "NO", "Experimental", etc
category-name.feature-name-1.flag string no The flag of the book feature. Possible values: "positive", "neutral" or "negative"
category-name.feature-name-1.supported boolean no If the feature is supported by the book. This is used to filter by this feature
category-name.feature-name-1.texts array of strings no Official Texts with info about the feature
category-name.feature-name-1.links array of objects no Official links with info about the feature
category-name.feature-name-1.links.title string yes The title of the link
category-name.feature-name-1.links.url string yes The url of the link

On each pull request, the JSON files are verified to be sure they are valid and well-formatted. You can run the following command inside the scripts directory to format the JSON before sending a pull request:

node json-format.js

All the features supported:

Category Category Id Feature Feature Id
Basic Information basic-information Publication Year year
Basic Information basic-information Publisher publisher
Basic Information basic-information Pages pages
Authorship authorship Authors authors
Authorship authorship Website website
Authorship authorship X (Twitter) twitter
Authorship authorship Nostr nostr
Authorship authorship YouTube youtube
Publication Format format Ebook ebook
Publication Format format Paperback paperback
Publication Format format Hardcover hardcover
Publication Format format Audiobook audiobook

Website

The thebitcoinhole.com website offers a Bitcoin Books Comparison using this database.

Sponsor this project

Sponsor this project to help us get the funding we need to continue working on it.

Follow us