Extend the crypto currency code list

Hi Tidbyt team,

I see the list is currently limited to around 10, including Doge coin!

Can this be extended to include the option to choose from at least the top50, maybe SHIB(!)

Thanks,
SR

Here’s an example using coingecko to pull Matic/USD:

load(“render.star”, “render”)
load(“http.star”, “http”)
load(“encoding/base64.star”, “base64”)

PRICE_URL = “https://api.coingecko.com/api/v3/simple/price?ids=matic-network&vs_currencies=usd
ICON = base64.decode(""“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”"")

def main(config):
font = config.get(“font”, “tb-8”)
rep = http.get(PRICE_URL)
if rep.status_code != 200:
fail(“Coingecko request failed with status %d”, rep.status_code)

rate = rep.json()["matic-network"]["usd"]

print(rate)


return render.Root(
child = render.Box( # This Box exists to provide vertical centering
    render.Row(
        expanded=True, # Use as much horizontal space as possible
        main_align="space_evenly", # Controls horizontal alignment
        cross_align="center", # Controls vertical alignment
        children = [
            render.Image(src=ICON),
            render.Text("$%s" % rate, color="#FFFFFF", font = font),
        ],
    ),
),

)

2 Likes