All Projects → trustwallet → watchmarket

trustwallet / watchmarket

Licence: other
Watchmarket is an aggregation and caching service for blockchain market information

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to watchmarket

chames
Notifies you when a game is available for a good price on g2a.com
Stars: ✭ 23 (-72.94%)
Mutual labels:  prices
dukascopy-tools
✨ Download historical price tick data for Crypto, Stocks, ETFs, CFDs, Forex via CLI and Node.js ✨
Stars: ✭ 128 (+50.59%)
Mutual labels:  exchange-rates
bitprices
command-line tool that generates a report of transactions with the USD (fiat) value at the time of each transaction.
Stars: ✭ 17 (-80%)
Mutual labels:  prices
robinhood.tools
📈🤑💰 Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-68.24%)
Mutual labels:  exchange-rates
CryptoTickerBot
A .NET Core program to fetch ticker data from various crypto exchange websites.
Stars: ✭ 30 (-64.71%)
Mutual labels:  exchange-rates
crypto-watcher
Real-time cryptocurrencies prices.
Stars: ✭ 25 (-70.59%)
Mutual labels:  prices
IEXSharp
IEX Cloud API for C# and other .net languages. Supports SSE streaming
Stars: ✭ 87 (+2.35%)
Mutual labels:  marketdata
octopus-agile-pi-prices
Display the upcoming prices on the Octopus Energy "Agile" tariff.
Stars: ✭ 35 (-58.82%)
Mutual labels:  prices
stocknet-code
Code for stock movement prediction from tweets and historical stock prices.
Stars: ✭ 139 (+63.53%)
Mutual labels:  prices
steam community market
Get item prices and volumes from the Steam Community Market using Python 3
Stars: ✭ 24 (-71.76%)
Mutual labels:  prices
mexbtcapi
The Multi-Exchange Bitcoin API offers a consistent high-level API across multiple bitcoin exchanges
Stars: ✭ 42 (-50.59%)
Mutual labels:  exchange-rates
hdx-python-country
Utilities to map between country and region codes and names and to match administrative level names from different sources. Also utilities for foreign exchange enabling obtaining current and historic FX rates for different currencies
Stars: ✭ 16 (-81.18%)
Mutual labels:  exchange-rates
dapps-browser
DApps browser
Stars: ✭ 114 (+34.12%)
Mutual labels:  trustwallet
dolarPy
Checks USD/PYG exchange rate from several sites, with a calculator, RESTful API and a twitter bot
Stars: ✭ 45 (-47.06%)
Mutual labels:  exchange-rates
currencyconverter
A Python currency converter using the European Central Bank data.
Stars: ✭ 158 (+85.88%)
Mutual labels:  exchange-rates
crypto-candlesticks
Download candlestick data fast & easy for analysis
Stars: ✭ 26 (-69.41%)
Mutual labels:  prices
Flutter-Basic
โค้ดประกอบเนื้อหา Flutter เบื้องต้น
Stars: ✭ 39 (-54.12%)
Mutual labels:  exchange-rates
cryptowallet-cli
CW is a crypto wallet generator CLI tool for a lot of blockchains: Bitcoin, Ethereum, Binance Smart Chain and many others
Stars: ✭ 45 (-47.06%)
Mutual labels:  trustwallet
php-currency-api
Standardized wrapper for popular currency rate APIs. Currently supports FixerIO, CurrencyLayer, Open Exchange Rates and Exchange Rates API.
Stars: ✭ 17 (-80%)
Mutual labels:  exchange-rates
time-prices
A Chrome extension that shows a tooltip when hovering over prices with the time that will take you to earn that amount
Stars: ✭ 15 (-82.35%)
Mutual labels:  prices

Watchmarket

CI codecov Go Report Card Dependabot Status

Watchmarket is a Blockchain explorer API aggregator and caching layer. It's your one-stop-shop to get information for (almost) any coin in a common format

Watchmarket comes with three apps:

  • API: RESTful API to retrieve coin info, charts, and tickers
  • Worker: fetch and parse data from market APIs and store it at DB
  • Swagger: API explorer

Supported Market APIs

Getting started

Setup

make install
make start-docker-services
make seed-db

Start the app:

make start

# Alternative
cd cmd/api && go run main.go
cd cmd/worker && go run main.go

ID system

We are using a asset id system. For each coin we have a unique asset_id of type string.

How to build asset id?

Asset ID consists of 2 parts and it possible to add new parts later. Example: c714_tTWT-8C2 Where:

  • 714 is id of coin (c for coin). We use standarts of BIP-44 slips for coins
  • TWT-8C2 is token id - unique identifier of token for blockchain. It could be an address for ETH for example.

Using API:

A. Get coin details about Ehtereum (coin 60 according to SLIPs)

  • curl -v "http://localhost:8421/v1/market/info?coin=60" | jq .
  • curl -v "http://localhost:8421/v2/market/info/c60" | jq .

B. Get current ticker price of Ethereum in USD:

  • curl -v -X POST 'http://localhost:8421/v1/market/ticker' -H 'Content-Type: application/json' -d '{"currency":"USD","assets":[{"type":"coin","coin":60}]}'
  • curl -v -X POST 'http://localhost:8421/v2/market/tickers' -H 'Content-Type: application/json' -d '{"currency":"USD","assets":["c60","c0","c714","c714_tTWT-8C2","c459","c61"]}'
  • curl -v "http://localhost:8421/v2/market/ticker/c60" | jq .
  • curl -v "http://localhost:8421/v2/market/tickers?assets=c60,c714,c714_TWT-8C2" | jq .

C. Get price interval of Ethereum to build chart starting from 1574483028 (UNIX time)

  • curl -v "http://localhost:8421/v1/market/charts?coin=60&time_start=1574483028" | jq .
  • curl -v "http://localhost:8421/v2/market/charts/c60?time_start=1574483028" | jq .

Use make stop to stop the services

Run make to see a list of all available build directives.

Local development with Kubernetes

Setup Docs

  1. Install Tilt
  2. Install Docker+Kubernetes
  3. Install Helm3

Setup for MacOS

  1. Enable Kubernetes in Docker Desktop preferences
  2. kubectl config use-context docker-desktop
  3. curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
  4. curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

Development with Tilt

Start

  1. Run tilt up to start the project
  2. Press space to open browser

Cleanup

  1. Press Ctrl+C to stop tilt local server
  2. Run tilt down to stop and clear allocated resources in local kubernetes
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].