Skip to content

juliob29/BitcoinTalk-Insights

Repository files navigation

BitcoinTalk Insights

Coverage

This program can relate cryptocurrencies to one another, using Word2Vec.

The program takes text as input, detects a cryptocurrency. With this information, the program finds coins related to the cryptocurrencies taken as input and suggests them to the user.

This skill also uses a database, containing all of the messages from the popular forum BitcoinTalk The database is used to train a Word2Vec model, which allows us to know related coins to a found cryptocurrency, based on the last week of forum messages.Related Cryptocurrencies are also shown, which come from the forum 'BitcoinTalk'. A Word2Vec model is trained to find words most similar to the currency found.

Usage

This application contains a total of 3 docker containers - the scraper, the scraper's database, and the main BitcoinTalk-Insights application. To initialize all 3 containers, we use a docker-compose.yml file.

The application can be be built by using: VERSION=v.[version] docker-compose build and VERSION=v.[version] docker-compose up -d. The environment variables required for the application are located in the .env file in the repository. They include a plotly username and API_Key, the POSTGRES_URI for the database, a MODELS_PATH for the application to look for particular Word2Vec models, and a BOARD_ID and WAIT_TIME to configure the scraper.

Endpoints

This application contains one relevant endpoint:

  • /detect: which returns the found Cryptocurrencies in text, their location, close prices, and Plotly graph.

That endpoint takes the following parameters:

  • text: text input.
  • limit: integer input. (Default is 3)

All requests have to be made using POST and passing a JSON object with the key above.

Example Response

The program returns a response in the following format.

{
    "success": true,
    "message": "Searched `text` data successfully.",
    "results": [
        {
            "title": "See the latest conversation about Litecoin on bitcointalk.org",
            "entities": [
                {
                    "name": "Litecoin",
                    "start": 34,
                    "end": 42,
                    "related": [
                        {
                            "name": "Ethereum",
                            "slug": "ethereum",
                            "value": 0.7644336247,
                            "url": "https://bitcointalk.org/index.php?topic=4930155.msg44421647#msg44421647"
                        },
                        {
                            "name": "Dogecoin",
                            "slug": "dogecoin",
                            "value": 0.7105858855,
                            "url": "https://bitcointalk.org/index.php?topic=1431367.msg43996859#msg43996859"
                        },
                        {
                            "name": "Monero",
                            "slug": "monero",
                            "value": 0.6657955171,
                            "url": "https://bitcointalk.org/index.php?topic=4882509.msg43990945#msg43990945"
                        },
                        {
                            "name": "XRP",
                            "slug": "ripple",
                            "value": 0.6058622511,
                            "url": "https://bitcointalk.org/index.php?topic=4930155.msg44421301#msg44421301"
                        },
                        {
                            "name": "Zcash",
                            "slug": "zcash",
                            "value": 0.603538287,
                            "url": "https://bitcointalk.org/index.php?topic=4845288.msg43856411#msg43856411"
                        },
                        {
                            "name": "Altcoin",
                            "slug": "altcoin-alt",
                            "value": 0.5301628541,
                            "url": "https://bitcointalk.org/index.php?topic=4930636.msg44423873#msg44423873"
                        },
                        {
                            "name": "DeepOnion",
                            "slug": "deeponion",
                            "value": 0.4435027239,
                            "url": "https://bitcointalk.org/index.php?topic=4892272.msg44116536#msg44116536"
                        },
                        {
                            "name": "TRON",
                            "slug": "tron",
                            "value": 0.4411762519,
                            "url": "https://bitcointalk.org/index.php?topic=4818153.msg43611071#msg43611071"
                        },
                        {
                            "name": "Vertcoin",
                            "slug": "vertcoin",
                            "value": 0.4282983802,
                            "url": "https://bitcointalk.org/index.php?topic=4792328.msg43242155#msg43242155"
                        },
                        {
                            "name": "Lisk",
                            "slug": "lisk",
                            "value": 0.4274601026,
                            "url": "https://bitcointalk.org/index.php?topic=4451471.msg42360533#msg42360533"
                        }
                    ]
                }
            ]
        }
    ]
}

About

Program that can tell users if a cryptocurrency is related to another based on messages scraped from BitcoinTalk.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages