Crawling GitHub for New Cryptonight Coins

By | August 5, 2019

This is the most important set of scripts I came up with. All new coins I was interested were fork off existing coins who host their source code on GitHub. Turtlecoin is the most developer friendly Cryptonight coin. It has 559 forks as of this writing and the developers are very friendly to helping people who fork their code. All of these new forks and coins share similar code. For Cryptonight coins the configuration files for all the coins can be put into one of two categories as either C or C++ in nature.

Using Python and connecting the GitHub API allows you to perform multiple searches. const+char+CRYPTONOTE_NAME and #define+CRYPTONOTE_NAME were the only two searches I needed to find new GitHub repositories. One I found a new GitHub repository with a file that matched one of those two searches I would do my best to parse the configuration file to extract what data I could about the coin. Searched for the name, money supply, emission speed factor, difficult target seconds, minimum fee, genesis hex, block reward unlock window, dust threshold, ports and block reward.

Another Python script then iterated over those records to search each repository for forks sorting by newest forks first. I performed some one time searches for forks sorting by oldest instead since there is a limit to the number of results GitHub will provide.

The scripts would also look for most recently updated repositories and then parse the configuration file again comparing with with previous values to alert if any coins had their blockchain reset.

This was part of a series: Ephemeral Projects as Performance Art

One thought on “Crawling GitHub for New Cryptonight Coins

  1. Pingback: Crawling GitHub for Discord & Telegram Invites – Barrett Sonntag

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.

This site uses Akismet to reduce spam. Learn how your comment data is processed.